Communications network for identifying the location of articles relative to a floor plan

ABSTRACT

A utility distribution system is provided for modular furniture of the type comprising individual furniture units which are juxtaposed to form one or more workstations. A signal conductor is positioned in each furniture unit, and extends generally between opposite sides thereof. Quick-disconnect connectors are provided at the opposite ends of each of the signal conductors, and mate with like quick-disconnect connectors in adjacent furniture units to create a communications network through the workstations. Each furniture unit has a signaler physically associated therewith, which is connected with an associated signal conductor at a coupler. A network controller is operably connected to the network to evaluate the network and/or the associated furniture units. The furniture units may be equipped with one or more utility ports, which are connected with the coupler, and service utility appliances, such as personal computers, telephones, facsimile machines, switches, power outlets, data receptacles, and the like. The utility appliances preferably have memory capability to internally store operating instructions for the same, which are transmitted to the network controller when the utility appliance is initialized.

This is a divisional of application Ser. No. 08/475,797 filed on Jun 7,1995, now U.S. Pat. No. 5,684,469 which is a continuation of applicationSer. No. 08/165,029, filed Dec. 9, 1993, now U.S. Pat. No. 5,530,435.

BACKGROUND OF THE INVENTION

The present invention relates to the distribution of utilities inmodular furniture systems and the like, and a control arrangementtherefor.

Modern offices are becoming increasingly complicated and sophisticateddue largely to the ever increasing needs of the users for improvedutilities support at each workstation. These "utilities," as the term isused herein, encompass all types of resources that may be used tosupport or service a worker, such as communications and data used withcomputers and other types of data processors, electronic displays, etc.,electrical power, conditioned water, and physical accommodations, suchas lighting, HVAC, security, sound masking, and the like. For example,modern offices for highly skilled "knowledge workers" such as engineers,accountants, stock brokers, computer programmers, etc., are typicallyprovided with multiple pieces of very specialized computer andcommunications equipment that are capable of processing information fromnumerous local and remote data resources to assist in solving complexproblems. Such equipment has very stringent power and signalrequirements, and must quickly and efficiently interface with relatedequipment at both adjacent and remote locations. Work areas with readilycontrollable lighting, HVAC, sound masking, and other physical supportsystems, are also highly desirable to maximize worker creativity andproductivity. Many other types of light technology equipment andfacilities are also presently being developed which will find theirplace in the workplaces of the future.

One important consequence of the advent of sophisticated electronicoffices is the increased need and desirability for distributingutilities throughout the various offices in a manner which can bereadily controlled. For example, both personal security and informationsecurity are ever-growing concerns in today's office environment,particularly as more and more sensitive business data is beingtransmitted electronically. Complex video and computer systems have beendeveloped which have a central location from which all workstations inany given grouping and/or building can be continuously monitored, andthe security of each associated piece of electronic equipment connectedwith a communications network can be checked. Related alarms andelectronic locking mechanisms are typically integrated into suchsecurity systems to provide improved effectiveness. These types ofsecurity systems must presently be hard-wired in place in the buildingand the associated workstations. This serves to increase the cost of theoffice space, and severely limit its ability to be readily reconfigured.

Another example of the increasing need to control the distribution ofutilities in offices relates to energy management. Electrical power isclearly an essential element of the modern office. From an energymanagement standpoint, it is desirable to minimize peak powerconsumption, as unit costs can thereby be reduced, and energyconservation realized. Also, when power supplies are disrupted, such asdue to a black out, a brown out, or another similar type of powerdisturbance, it is very important to be able to marshal the use of allavailable power and/or route emergency power to critical equipment, suchas emergency lighting, security systems, communications equipment, etc.Some industries, such as financial brokerages, telemarketing firms, mailorder sales, and others have become so dependent upon electricallypowered computers and communication devices that even very minor powervariations can create major problems that result in significant businesslosses. Hence, the ability to control the distribution of electricalpower in office environments, and other similar settings is of utmostimportance.

Signaling and/or communications is another essential utility in modernoffices which must be effectively distributed and controlled. Inaddition to state-of-the-art telephone communications, interactivecomputers, electronic mail, facsimile messages, remote banking, computerstock trading, and many other similar activities, electronic informationtransfers are now becoming a part of everyday business practice. Asthese new forms of communications become well entrenched, our dependenceupon them increases proportionately, such that even temporary signaloverloads or interferences can result in significant reductions inworker productivity.

Other important utilities also need to be distributed and controlled inmodern office settings. These utilities generally relate to physicalambient controls, such as building and local HVAC, ceiling lighting,task lighting, audio information such as music, alarms, sound masking,etc., video information, including cable TV, electronic display boards,and the like. The ability to provide the office worker with ready accessto all of these utilities, as well as those other utilities discussedabove, is clearly advantageous in the quest to promote worker well-beingand effectiveness. Since many of today's utility devices are readilyportable, such as lap-top PCs, a wireless telephones, etc., thedifficulties experienced in keeping track of these facilities andmanaging their use is greatly exacerbated.

The efficient use of building floor space is also an ever-growingconcern, particularly as building costs continue to escalate. Openoffice plans have been developed to reduce overall office costs, andgenerally incorporate large, open floor spaces in buildings that areequipped with modular furniture systems which are readily reconfigurableto accommodate the ever-changing needs of a specific user, as well asthe divergent requirements of different tenants. One arrangementcommonly used for furnishing open plans includes movable partitionpanels that are detachably interconnected to partition off the openspaces into individual workstations and/or offices. Such partitionpanels are configured to receive hang-on furniture units, such asworksurfaces, overhead cabinets, shelves, etc., and are generally knownin the office furniture industry as "systems furniture." Anotherarrangement for dividing and/or partitioning open plans involves the useof modular furniture, in which a plurality of differently shaped,complementary freestanding furniture units are positioned in aside-by-side relationship, with upstanding privacy screens available toattach to selected furniture units to create individual, distinctworkstations and/or offices. All of these types of modular furnituresystems have been widely received due largely to their ability to bereadily reconfigured and/or moved to a new site, since they are not partof a permanent leasehold improvement.

In order to gain increased efficiency in the use of expensive officereal estate, attempts are now being made to try to support highly paidknowledge workers with these types of modular furniture systems in openoffice settings, instead of conventional private offices. However, inorder to insure peak efficiency of such knowledge workers, theworkstations must be equipped with the various state-of-the-artutilities and facilities discussed above. Since such workstations mustbe readily reconfigurable to effectively meet the ever-changing needs ofthe user, the distribution and control of utilities throughout acomprehensive open office plan has emerged as a major challenge to theoffice furniture industry.

At present, some types of modular furniture systems, such as selectedportable partition panels and freestanding furniture units, can beequipped with an optional electrical powerway, which extends along theentire width of the unit, and has quick-disconnect connectors adjacentopposite ends thereof to connect with adjacent, like powerways, andthereby provide electrical power to an associated furniture group orcluster. Outlet receptacles are provided along each powerway into whichelectrical appliances can be plugged. Cable troughs or channels are alsoprovided in most such furniture units, so as to form a system ofinterconnected raceways into which signal and communications wires canbe routed. Such cabling is normally routed through the furniture systemafter the furniture units are installed, and is then hard-wired at eachof the desired outlets. While this type of distribution system hasproven somewhat effective, the types of utilities provided are ratherlimited, their distribution is not wholly modular, thereby resulting inhigher installation and reconfiguration costs, and there is little or nocontrol for those utilities available, at least on an overall systemslevel.

The inherent nature of modular furniture systems, which permits them tobe readily reconfigured into different arrangements, makes it verydifficult to achieve adequate utility distribution and control. To beeffective, not only must the furniture units have built-in utilitycapabilities, but the distribution system should also be able todetermine the location of each particular furniture unit within a systemof multiple workstations, monitor its utility usage, and then controlthe same, all at a relatively low cost and readily adaptable fashion,which will function effectively, regardless of where the individualfurniture unit is positioned or how it is configured.

SUMMARY OF THE INVENTION

One aspect of the present invention is a system for distributingutilities in modular furniture of the type wherein individual furnitureunits are juxtaposed in a preselected configuration to form one or moreworkstations. Each furniture unit includes a signal conductor positionedtherein which extends through a portion thereof. First and secondquick-disconnect connectors are connected with the opposite ends of thesignal conductor, and are configured to mate with like quick-disconnectconnectors associated with other similarly equipped furniture units todefine a communications network for the workstations. A coupler ispositioned in each of the furniture units, and is connected with thesignal conductor at a location operably intermediate the first andsecond quick-disconnect connectors. A signaler is also physicallyassociated with each furniture unit, and is connected with the signalconductor at the coupler to communicate through the signal conductor andthe communications network, so as to facilitate the controlleddistribution of utilities to the workstations.

Another aspect of the present invention is a system for evaluating amodular furniture arrangement having a plurality of individual furnitureunits configured to form one or more workstations. At least one signalconductor extends along at least a portion of the furniture arrangementto define a communications network. A signaler is connected to thesignal conductor, and is adapted for physical association with at leastone of the furniture units. A network controller is coupled to thesignal conductor for transmitting control signals to the signalerthrough the signal conductor, and receiving control signals from thesignaler through the signal conductor, whereby the network controllerevaluates the furniture arrangement to facilitate the distribution ofutilities to the workstations.

Yet another aspect of the present invention is a utility distributionsystem for a modular furniture unit of the type having at least twoportions thereof associated with different workstations. A firstcommunication module is physically associated with one of the furnitureportions, and includes a first signal conductor with quick-disconnectconnectors at opposite ends thereof, and a coupler positionedtherebetween. A second communications module is physically associatedwith the other furniture portion, and includes a second signal conductorextending between opposite sides thereof, with quick-disconnectconnectors at opposite ends thereof, and a coupler positionedtherebetween. The first and second communication modules each provide arespective communication path through both portions of the furnitureunit to individually control the distribution of utilities to both ofthe different workstations.

Yet another aspect of the present invention is a communications networkfor a plurality of furniture units. A signal conductor is configured toextend along the furniture units. At least one signaler is associatedwith at least one of the furniture units, and is operably coupled to thesignal conductor. A network controller is operably coupled to the signalconductor for communicating with the signaler, whereby the networkcontroller and the signaler communicate information associated with thefurniture units through the signal conductor.

Yet another aspect of the present invention is a communications networkfor a furniture arrangement, comprising at least one signal conductorextending along the furniture arrangement. A network controller isconnected to the signal conductor, and includes control circuitry forthe communications network. At least one utility appliance is coupled tothe signal conductor for communicating with the network controller, andincludes a memory unit storing operating instructions therefor, whichare transmitted to the control circuitry of the network controller whenthe utility appliance is initialized, whereby the network controllercontrols the utility appliance according to the operating instructionsreceived therefrom.

Yet another aspect of the present invention is a system for distributingutilities in a modular furniture unit of the type in which complementaryfurniture units are juxtaposed in a preselected configuration to form atleast one workstation. A signal conductor is positioned in the furnitureunit, and extends generally between opposite sides thereof. A coupler ispositioned in the furniture unit, and is connected with the signalconductor at a location within the furniture unit. A utility appliancenetwork is positioned within the furniture unit, and is coupled to thesignal conductor through the coupler. At least one port is physicallypositioned on the furniture unit, and is operably connected with theutility appliance network, whereby the port is coupled to the signalconductor through the utility appliance network to facilitate thedistribution of utilities to the workstation.

The principal objects of the present invention are to provide anefficient and effective system to distribute utilities in modularfurniture arrangements and the like. Each furniture unit can be prewiredwith a signal conductor and a signaler connected with the signalconductor at a coupler. The signal conductors in adjacent furnitureunits are interconnected by quick-disconnect connectors, so as to form acommunications network which is attached to a network controller capableof evaluating both the communications network and the furniture units.At least some of the furniture units include a plurality of ports whichare capable of servicing a wide variety of utility appliances, such ascomputers, communication devices, switches, power outlets, datareceptacles, etc., to meet the ever-changing needs of even the mostadvanced knowledge workers. The furniture units and the associatedutility appliances preferably include identifiers and/or operatinginstructions which are communicated to the network controller throughthe communications network to evaluate and monitor utility distributionto the workstation, as well as control the same, such as by powershedding, communication line switching, and the like. The utilitydistribution system also is preferably capable of monitoring andcontrolling physical support equipment, such as lighting, HVAC,security, sound, and other similar environmental accommodations. Hence,the furniture units not only have built-in utility capabilities, but thedistribution system for the same is able to determine the location ofeach particular furniture unit in the system, monitor its utility usage,and then control the same, all at a relatively low cost, and readilyadaptable fashion, which will function effectively, regardless of wherethe individual furniture unit is positioned or configured in the system.

These and other advantages of the invention will be further understoodand appreciated by those skilled in the art by reference to thefollowing written specification, claims and appended drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a furniture arrangement including autility distribution system embodying the present invention;

FIG. 2 is a front elevational view of two panels, which are furnitureunits included in the furniture arrangement according to FIG. 1, andincluding a utility distribution system according to the presentinvention;

FIG. 3 is a perspective view of a communication module used in theutility distribution system for the furniture arrangement according toFIG. 1;

FIG. 4 is a top plan view of a utility distribution system in thefurniture arrangement according to FIG. 1;

FIG. 5 is a front elevational view of a panel according to FIG. 2 withthe panel face cover removed;

FIG. 6 is a top plan view of a column of the panel according to FIG. 5;

FIG. 7 is a front elevational view of the panel face according to FIG. 5with a utility appliance network;

FIG. 8 is a circuit schematic of the utility appliance network accordingto FIG. 7;

FIG. 8A is a partial circuit schematic of the utility appliance network;

FIG. 8B is a partial circuit schematic of an alternate embodiment of theutility appliance network;

FIG. 9 is a front elevational view of the panel according to FIG. 7 andfurther including power harnesses;

FIG. 10 is a circuit schematic of the power distribution circuitaccording to FIG. 9;

FIG. 11 is a front elevational view of the portless panel face accordingto FIG. 2;

FIG. 12 is a front elevational view of a port in the ported panel faceaccording to FIG. 2;

FIG. 13 is a top sectional view taken along plane XIII--XIII in FIG. 12;

FIG. 14 is a circuit schematic of a module according to FIG. 3 includingcouplers and signalers forming an identification module in the portlesspanel face according to FIG. 11;

FIG. 15 is a circuit schematic partially in block diagram form of amodule according to FIG. 3 including couplers and signalers forming abridge module for the ported panel face according to FIG. 2;

FIG. 16 is a circuit schematic in block diagram form of a bridge moduleaccording to FIG. 15;

FIG. 17 is a circuit schematic partially in block diagram form of anetwork controller for the utility distribution system according to FIG.1;

FIG. 18 is a circuit schematic in block diagram form of the networkcontroller according to FIG. 17;

FIG. 19 is a front perspective view of a switch which is one type ofutility appliance in the furniture arrangement according to FIG. 1;

FIG. 20 is a back perspective view of the switch according to FIG. 19;

FIG. 21 is a circuit schematic in block diagram form of the switchaccording to FIG. 19;

FIG. 22 is a front perspective view of a triplex power outlet which isone type of utility appliance in the furniture arrangement according toFIG. 1;

FIG. 23 is a back perspective view of the power outlet according to FIG.22;

FIGS. 24A and 24B are a circuit schematic partially in block diagramform of the power outlet according to FIG. 22;

FIG. 25 is a circuit schematic in block diagram form of the outletaccording to FIG. 22;

FIG. 26 is a circuit schematic partially in block diagram form of partof a power-in in the furniture arrangement according to FIG. 1;

FIG. 27 is a circuit schematic in block diagram form of the power-inaccording to FIG. 26;

FIG. 28A is a top elevational view of a three-panel furniturearrangement including a utility distribution system according to theinvention;

FIG. 28B is a circuit schematic of a utility distribution system for thefurniture arrangement according to FIG. 28A;

FIGS. 29-38 are flow diagrams for the program in the network controlleraccording to FIGS. 17 and 18;

FIG. 39 is a flow diagram of the program in the switch according toFIGS. 19-21;

FIGS. 40A, 40B and 40C are flow diagrams of the program in the outletaccording to FIGS. 22-25;

FIGS. 41A, 41B and 41C are flow diagrams of the program of the power-inaccording to FIGS. 26 and 27;

FIGS. 42-46 are flow diagrams of the program in utility appliancesaccording to FIGS. 17-27;

FIGS. 47, 48A, 48B, 49, 50, 51, 52, 53A, 53B, 53C, and 53D are flowdiagrams of a program in the bridge module according to FIGS. 15 and 16;

FIG. 54 is a perspective view of a system according to an alternateembodiment of the invention; and

FIG. 55 is a bottom plan view of a grid for the embodiment according toFIG. 54 with a panel system illustrated in phantom.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

For purposes of description herein, the terms "upper," "lower," "right,""left," "rear," "front," "vertical," "horizontal," "upstream,""downstream" and derivatives thereof shall relate to the invention asviewed by a seated user in one of the workstations shown in FIG. 1.However, it is to be understood that the invention may assume variousalternative orientations and step sequences, except where expresslyspecified to the contrary. It is also to be understood that the specificdevices and processes illustrated in the attached drawings, anddescribed in the following specification, are simply exemplaryembodiments of the inventive concepts defined in the appended claims.Hence, specific dimensions and other physical characteristics relatingto the embodiments disclosed herein are not to be considered aslimiting, unless the claims expressly state otherwise.

The reference numeral 1 (FIG. 1) generally designates a utilitydistribution system embodying the present invention, which isparticularly adapted for use in conjunction with modular furniturearrangements 2 and the like of the type wherein individual furnitureunits 3 are juxtaposed to form one or more workstations 4. A signalconductor 5 is positioned in each furniture unit 3, and may extendgenerally between opposite sides thereof. Quick-disconnect connectors 6and 7 (FIGS. 2-4) are provided at the opposite ends of each signalconductor 5, and mate with like quick-disconnect connectors 6 and 7 inother similarly equipped furniture units 3 to define a communicationsnetwork 8 through workstations .4. Each furniture unit 3 also has asignaler 9 physically associated therewith, which is connected with theassociated signal conductor 5 at a coupler 10 positioned operablyintermediate opposite quick-disconnect connectors 6 and 7. A networkcontroller 11 is operably coupled to communications network 8 toevaluate the communications network and/or the associated furnitureunits 3. At least some of the furniture units 3 may also be equippedwith one or more utility ports 12 (FIG. 2), which are connected with theassociated coupler 10, and service utility appliances, such as thoseillustrated in FIG. 1, including personal computer 13, telephone 14,facsimile machine 15, printer 16, overhead mounted task light 17,freestanding task light 18, ambient light 19, personal heater 20, clock21, ventilation system 22, electronic lock system 23, security system24, power outlets 25, data receptacles 26, switches 27, and power-ins28. Utility appliances 13-28 may be provided with internal memory tostore operating instructions for the same, which are transmitted tonetwork controller 11 when the particular utility appliance isinitialized.

As described in greater detail below, network controller 11 (FIG. 1) iscapable of interfacing with the various ports 12 in furniture system 2,so as to achieve nearly limitless flexibility in monitoring andcontrolling utility appliances 13-28 in a manner that can be easilyrearranged and/or reconfigured without requiring any rewiringwhatsoever. For instance, one of the switches 27 can be programmed tocontrol one or all task lights 17 and 18 located in a particularworkstation 4. If the user later decides to change this arrangement, sothat switch 27 controls all ambient lights 19 in the furniture group 2,network controller 11 is simply reprogrammed to achieve this newarrangement, without necessitating any rewiring or physical relocationof any of the utility appliances 13-28. Similarly, network controller 11might be programmed to operate lock system 23 by local actuation at eachworkstation 4 during regular office hours, and then be controlled from aremote central control station 29 (FIG. 1) during off hours to achieveimproved security with fewer personnel. Ports 12 and utility appliances13-28 can be programmed on a workstation-by-workstation basis to becontrolled from a particular area, and/or by a specific person, such asa project director, and then reprogrammed as required when personneland/or workstations 4 are reassigned. The immense flexibility of utilitydistribution system 1 is particularly beneficial when individualfurniture units 3 are removed or replaced, or when entire furnituregroups 2 are reconfigured, since the monitoring and control of allutility appliances 13-28 in any given communications network 8 can bereadily achieved by simply reprogramming network controller 11.Preferably, network controller 11 also has system monitoring and controlcapabilities, so as to efficiently and effectively distribute utilitiesamong the various workstations 4, such as by power shedding,communication line switching, and the like. In this manner, criticalequipment can remain operational during temporary power and/orcommunication disruptions, thereby avoiding those significant businesslosses that would otherwise result.

The illustrated modular furniture arrangement 2 (FIG. 1) includes aportable partition system, wherein the furniture units 3 comprise aplurality of individual partition panels, which are interconnected in aside-by-side fashion to form multiple workstations 4. Partition panels 3are adapted to mount thereon a plurality of conventional hang-onfurniture articles, such as the illustrated worksurfaces 31, binder bins32, etc., and are integrated with complementary pedestals 33, andwardrobes or closets 34.

It is to be understood that the present utility distribution system 1can be used in conjunction with a wide variety of different furniturearrangements, including the panel based system illustrated in FIG. 1.For example, utility distribution system 1 can be used in conjunctionwith freestanding furniture units, such as those disclosed in commonlyassigned U.S. Pat. No. 5,092,253 entitled MODULAR FURNITURE, as well asthe common and personal furniture systems disclosed in copendingcommonly assigned U.S. patent application Ser. No. 819,396, entitledDYNAMIC WORKSPACE MODULE now U.S. Pat. No. 5,282,341, and Ser. No.774,563, entitled FURNITURE SYSTEM now U.S. Pat. No. 5,511,348, as wellas other similar furniture arrangements. Hence, the term "furnitureunit" or the like, as used herein, is intended to encompass all types offurniture articles used in furniture systems, freestanding arrangements,and the like, as well as their equivalents.

The illustrated partition panel 3 (FIG. 2) is specially configured toaccommodate utility distribution system 1, and includes a marginal frame45, with two removable cover panels 46 and 47 enclosing the oppositesides or faces thereof. As best illustrated in FIGS. 5 and 6, panelframe 45 includes a pair of vertical uprights 48 rigidly interconnectedat their opposite ends by top and bottom cross members 49 and 50,respectively. A pair of feet 51 depend from bottom cross member 50, andinclude vertically adjustable glides 52 at their lower ends tofacilitate leveling partition panel 3. Two plates 53 and 54 extendbetween opposite panel feet 51, and are attached thereto in a verticallyspaced apart fashion to define a pair of back-to-back power raceways 55and a pair of back-to-back cable raceways 56, which are verticallyseparated by center plate 53. Removable cover plates 57 and 58 aredetachably mounted on the opposite sides of raceways 55 and 56 toselectively enclose the same.

The vertical uprights 48 (FIGS. 5 and 6) of panel frame 45 aresubstantially identical in construction, wherein each includes achannel-shaped lateral cross-sectional configuration, comprising a flatouter web 60, and a U-shaped inner channel 61, having a central web 62and opposite side flanges 63. An intermediate web 64 is positionedbetween webs 60 and 62, and is integrally connected therewith by flangemembers 65-68. The outer flange members 65 and 66 include a series ofvertical slots 69 shaped to receive therein brackets for hang-onfurniture articles, such as worksurfaces 31 and binder bins 32. Webs 62and 64, in conjunction with flanges 67 and 68 define a vertical raceway70 which communicates with power raceway 55 to route power conduitstherethrough.

In the example shown in FIG. 2, cover panels 46 and 47 each have anupholstered construction, and are detachably connected with the oppositesides or faces of panel frame 45 to enclose the same. The illustratedcover panel 46 is provided with a plurality of ports 12 mounted thereonfrom which various utilities can be tapped in the fashion discussedbelow, whereas the illustrated cover panel 47 does not have any ports,and is simply aesthetic in nature. As will be appreciated by thoseskilled in the art, the present invention also contemplates the use ofadditional types of cover panels (not shown), which may be arrangeddifferently to facilitate the efficient and effective distribution ofutilities to workstations 4.

In general, communications network 8 (FIG. 1) includes at least onesignal conductor 5 associated with furniture arrangement 2 to effectcommunication through furniture arrangement 2, and to communicate withports 12 on those panel faces 46 including ports. To implement suchcommunication, the communications network 8 illustrated herein includesa furniture arrangement network 36 (FIG. 2) which is associated with thefurniture arrangement 2, and a utility appliance network 37 which isassociated with ports 12. More particularly, the furniture arrangementnetwork 36 includes at least one signal conductor 5 extending along thefurniture arrangement 2. The utility appliance network 37 includes atleast one signal conductor connected to at least one port 12. However,as used herein, "communications network" includes any signal conductorconfiguration associated with a furniture unit.

The cover panel 46 illustrated on the left-hand side of FIG. 2 includeseight individual ports 12 connected to utility appliance network 37,which is in turn connected to the furniture arrangement network 36 atcoupler 10. As previously noted, ports 12 may be arranged to provideservice taps at the selected workstations 4 for a wide variety ofdifferent utilities, such as electrical power, communication, data,security, fiber optic transmissions, and possibly even HVAC, conditionedwater, and other similar resources. Partition panels 3 can be eitherfactory equipped, or even retrofitted with those particular utilityports 12 which are desired, and in the specific configuration that willbest serve the associated workstation 4.

In the illustrated example, and with reference to FIG. 1, each port 12is configured so that it can be connected with either a power outlet 25,a data receptacle 26, a switch 27, or a power-in 28. In thisconfiguration, the utility appliances 13-24 are connected to thecommunications network 8 indirectly through power outlets 25 and datareceptacles 26. However, it is to be understood that utility appliances13-24 can also be connected directly to ports 12. Preferably, each ofthe power outlets 25, data receptacles 26, switches 27 and power-ins 28has a memory capability to store operating instructions therefor, whichare transmitted to network controller 11 when the utility appliance isinitialized, such that network controller 11 controls the utilityappliances according to these programmed operating instructions. Utilityappliances 13-24 may also have memory capability to store operatinginstructions, which are transmitted to network controller 11 in a mannersimilar to power outlets 25, data receptacles 26, switches 27 andpower-ins 28. In the panel 3 illustrated on the left-hand side of FIG.2, those ports 12 located at the opposite corners of panel 3 are empty,the two ports 12 located immediately above the worksurface 31 have poweroutlets 25 connected therewith, and the two ports 12 positionedimmediately below worksurface 31 have data receptacles 26 connectedtherewith.

With reference to FIG. 3, the illustrated signal conductor 5,quick-disconnect connectors 6 and 7, signaler 9 and coupler 10 are allincorporated into a one-piece assembly, which is designated herein ascommunication module 75, shaped to be received within the cable raceway56 (FIG. 5) of partition panel 3. It is to be understood thatcommunications module 75 might also be shaped to be positioned on afurniture unit 3 outside of raceway 55. Communication module 75 includessix signal conductors 5 (FIG. 3) which extend along the length of cableraceway 56, and have a connector block 76 mounted at one end, and a malequick-disconnect connector 7 mounted at the opposite end. Theillustrated connector block 76 includes at least one femalequick-disconnect connector 6 positioned in the end wall thereof, whichis shaped to receive one of the male connectors 7 therein. Connectorblock 76 also includes a female quick-disconnect connector 77 in the topwall thereof for connection with ports 12, as described below. Signaler9 and coupler 10 are also integrally positioned within connector block76. The illustrated signaler 9 comprises a toggle switch, which may beshifted between on and off positions for purposes to be described ingreater detail hereinafter. As described in greater detail below, toggleswitches 9 are manipulated in a specific pattern to help the networkcontroller 11 determine the location of a particular communicationmodule 75 within furniture arrangement 2 when the network controller 11communicates with bridge module 75 upon initialization. This initialcommunication is done with the communication module looking upstream. Asused herein, the terms "downstream" and "upstream" are directionsdetermined relative to the connectors 6 and 7 in communication module75. Hence, "downstream" refers to the direction from female connector 6to male connector 7, whereas "upstream" refers to the direction frommale connector 7 to female connector 6. In the interconnectedarrangement shown in FIG. 4, "upstream" is the clockwise direction and"downstream" is the counterclockwise direction.

In the embodiment illustrated in FIGS. 2-4, each partition panel 3includes a pair of communication modules 75 positioned on opposite sidesthereof within back-to-back cable raceways 56. Each communication module75 is physically associated with the adjacent side or face of partitionpanel 3, with switch 9 protruding therefrom. When partition panels 3 arepositioned side-by-side, as shown in FIG. 2, the male quick-disconnectconnector 7 associated with communication module 75 is inserted into thefemale quick-disconnect connector 6 in the communication module 75 ofthe next adjacent panel 3. All communication modules 75 in a particularfurniture group or cluster 2 are similarly interconnected, so as to formthe furniture arrangement network 36, which is in the shape of a loop,as shown in FIG. 4.

Each of the furniture units 2 may have two or more sections, which aredesignated herein as "portions," equipped with separate communicationmodules 75. For example, each of the illustrated panels 3 has twoopposite sides or faces, each of which has a communication module 75associated therewith. Normally, the opposite faces of panels 3 will beassociated with a different one of the various workstations 4. Hence,each of the illustrated panel faces 46 and 47 (FIG. 2) is a separateportion of furniture unit 3, and has a respective associatedcommunication module 75. The ported panel faces 46 include a module 75Awhich communicates with the ports 12 thereon through a respectiveutility appliance network 37. The portless panel faces 46 will also havea communication module 75B associated therewith; Preferably, thecommunication modules 75A, 75B have a signaler 9 which is connected to acoupler 10, and has a memory capability, wherein an identifier code isprogrammed therein that is specific to the particular panel face. Hence,when a partition panel 3 is installed in a furniture system 2, the panel3 can be interrogated by network controller 11 to determine allpertinent specifics of the panel 3, including utility capabilities, andtheir particular configuration on each panel face.

Although the furniture portions have been described above with respectto panel faces 46 and 47 (FIG. 2), it will be recognized that furnitureportions may take other forms. Other examples of a furniture portion mayinclude one work section of a desk having multiple work sections, onedrawer section of a multiple drawer cabinet or file, or any othersection of a furniture unit 3 that may be associated with differentworkstations 4. Accordingly, the term "furniture portion," as usedherein, is intended to encompass all of these types of furniture unitsections as well as their equivalents.

Network controller 11 (FIG. 4), may be located local to or remote fromfurniture group 2, and is connected with the furniture arrangementnetwork 36. The furniture arrangement network 36 is in the form of aloop, so as to permit evaluation of the various partition panels 3 inthe furniture system 2, as well as any and all utility appliances 13-28(FIG. 1) connected with the same. As described in greater detailhereinbelow, evaluation of the furniture arrangement 2, orcommunications network 8, includes: locating workstations 4 usingsignalers 9; locating couplers 10; locating utility appliances 13-28;monitoring communication modules 75 (FIG. 3); monitoring utilityappliances 13-28 (FIG. 1); monitoring power usage at receptacles inpower outlets 25; identifying types of utility appliances 13-28;identifying communication modules 75; automatic configuration ofcommunication modules 75; automatic configuration of communication linksbetween utility appliances 13-28; and automatic binding of utilityappliances 13-28. Accordingly, as used herein, the term "evaluate" (or"evaluation") will include all of these processes for determining one ormore of the various characteristics of a furniture arrangement 2 or acommunications network 8, and identifying fault locations, or theirequivalents.

As also described in greater detail below, the illustrated switches 9constitute one form of device which permits network controller 11 topositionally associate each face of panel 3 with one of the variousworkstations 4 created in furniture group 2. For example, afterfurniture group 2 has been assembled in the fashion illustrated in FIG.4, beginning with the upstream end of furniture arrangement network loop36, the first switch 9 in each workstation 4 is switched on, while theremaining switches in the same workstation 4 are switched off. Networkcontroller 11 includes an evaluation routine, which determines thestatus of each switch 9, and then positionally associates each face ofpanel 3 with its associated workstation 4, as they are disposedsequentially about configured furniture arrangement network 36. As aresult, any given furniture group 2 can be readily reconfigured, byadding or removing partition panels 3, rearranging the same, or thelike, and network controller 11 will be able to automatically determinethe new location of each panel 3 within the furniture system.

In operation, utility appliances 13-28 (FIG. 1) are plugged into panelports 12 at their desired locations. The utility distribution system 1is initialized, and the operating instructions for each of the utilityappliances incorporated into communications network 8 are communicatedto network controller 11. Additionally, information is communicated tonetwork controller 11 from the communication modules 75 associated witheach portion of furniture units 3. In this fashion, network controller11 not only learns where each partition panel 3 is in the furnituregroup 2, but it also learns the identity of each of the utilityappliances 13-28 mounted thereon, and its associated operatinginstructions. Network controller 11 can thereby monitor the flow ofpower, signals, and other utilities to each port 12 on each face of eachpartition panel 3 in furniture arrangement 2, and can also control thesame, if necessary, by power shedding, communication line switching, orthe like. For example, in the event of an electrical power disruption,network controller 11 can shed power to all non-critical utilityappliances, such as personal heater 20, task lamp 18, etc., yet continueto supply power to all necessary utility appliances, such as emergencylighting, computer terminals 13, communication devices 14, etc.Furthermore, network controller 11 permits manipulation of utilityappliances 13-28 on a system wide basis, such as by rerouting telephonecalls to different locations, turning on and off lights 18-20, resettingclocks 21, locking and unlocking security system 24, and the like.Hence, partition panels 3 not only have built-in utility distributioncapabilities, but the distribution system 1 for the same is able todetermine the location of each particular partition panel 3 in thesystem 2, monitor its utility usage, and then control the same, all in areadily adaptable fashion, which will function effectively, regardlessof where the individual partition panel 3 is positioned or configured inthe furniture arrangement 2.

With reference to FIGS. 7 and 8, a utility appliance network 37 isprovided to establish a communication path between the ports 12 on coverpanel 46 and an associated bridge module 75A. Bridge module 75A is acommunication module 75 which includes a communication bridge 128 (FIG.8) connected to coupler 10. Utility appliance network 37 includesdata/power conductors 82 connected to all of the ports 12 and to thecommunication bridge 128. The data/power conductors 82 include twosignal conductors 83 and 84 (FIG. 8) which transmit communicationsignals bi-directionally between ports 12 and the communication bridge128 of bridge module 75A. Conductors 85 and 86 carry DC power fromcommunication bridge 128 to ports 12. Utility appliance network 37includes an address conductor 87 selectively connected uniquely to eachof ports 12 on the panel face 46. Conductor 87 is connected to a logiclevel which is, for example, circuit ground. The three address pinsAD0-AD2 of the eight ports 12 are connected to conductor 87, such thateach address on a panel face 46 has a unique 3-bit value. The addressesAD0-AD2 range from 000 to 011 from bottom to top on the right side ofFIG. 8, and range from 100 to 111 from bottom to top on the left side ofFIG. 8. Thus, each port 12 associated with each panel face 46 has aunique address which identifies its location thereon. Conductors 83, 84,85, 86 and 87 are preferably terminated at a male RJ-11 type connectoradapted to be engaged in connector 77 of communication module 75 (FIG.3).

An address connector will now be described with reference to FIG. 8A.This embodiment of the address bus includes pull-up resistors R1, R2 andR3 in each of the utility appliances 13-27 connected to conductor 86having the utility appliance power supply +V (e.g., 5 volts). Thepull-up resistors R1-R3 are selectively connected to conductors 87 bypins P1-P3 connected between communication bridge 128 and addressterminals AD0-AD2 of port 12. Conductors 87 are coupled to ground incommunication bridge 128. The presence or absence of pins P1-P3determines the utility appliance address. Those address terminals ineach port 12 connected to conductor 87 by pins P1-P3 will be pulled toground, whereas each address terminal not connected to conductor 87 willbe pulled to a high logic level by its respective pull-up resistorR1-R3. In the port 12 illustrated in FIG. 8A, the address is 000.Although pins P1-P3 are illustrated in FIG. 8A, it will be recognizedthat conductor 87 can be selectively hard-wired to resistors R1-R3through the address terminals AD0-AD2.

The presently preferred embodiment of the address circuit is illustratedin FIG. 8B. In this embodiment, only conductors 83-86 extend betweencommunication bridge 128 and the utility appliances 13-28. Pins P1-P3are selectively inserted between address terminals AD0-AD2 and groundpotential conductor 85, such that address terminals AD0-AD2 areconnected to respective ones of pull-up resistors R1-R3. Those addressterminals connected to ground by connection of a pin P1-P3 will bepulled low, whereas terminals without a pin will be pulled up by theirrespective pull-up resistor. Thus, the utility appliances connected toport 12 illustrated in FIG. 8B has the address 010. This embodiment ispreferred because it uses only four conductors for the utility appliancenetwork 37.

As mentioned briefly above in the illustrated example, six signalconductors 5 are provided in each communication module 75 (FIGS. 2 and3) to extend along the length of cable raceway 56. Utility appliancenetwork 37 (FIGS. 7 and 8) includes signal conductors 83 and 84, whichextend between communication bridge 128 of bridge module 75A and each ofthe ports 12. Each of the illustrated signal conductors 83 and 84includes a suitable conventional electrical conductor, such as a wirehaving a copper core and electrical insulation enclosing the copper.These signal conductors 83 and 84 may be provided in a ribbon cable oras a bundle of individual wires.

It will be appreciated that although the signal conductors 83 and 84 inthe illustrated embodiments are wires, the signal conductors could beany means to effect a communication path between two points. Forexample, an optical fiber, a coaxial cable, or the like, could beutilized. Hence, the term "signal conductor," as used herein,encompasses any such device, and their equivalents.

With reference again to the bridge module 75 shown in FIG. 3, theopposite ends of the signal conductors 5 are terminated atquick-disconnect connectors 6 and 7. The illustrated malequick-disconnect connector 7 is a conventional RJ-11 male connectorwhich includes at least six pins. The illustrated female connector 6 isa conventional female RJ-11 connector, having the same number of pins asmale connector 7. Although female connector 6 is illustrated mounted incoupler block 76, it will be recognized that the female connector couldbe remote from connector block 76 and connected to block 76 by signalconductors 5. As will also be recognized by those skilled in the art,male connector 7 includes a resilient tongue 110, which is received in akeyway 111 of female connector 6, and releasably locks connector 7 infemale connector 6 in a conventional manner. In general, tongue 110 isbiased into keyway 111 when male connector 7 is inserted into femaleconnector 6, and tongue 110 is manually depressed inwardly to remove themale connector from the connector 6.

Those of ordinary skill in the art will recognize that although theillustrated quick-disconnect connectors 6 and 7 are RJ-11 typeconnectors, they may be implemented by any suitable non-fixed type ofconventional connector. For example, detachable male and female fiberoptic or coaxial connectors may be used. Examples of other suitabledetachable connectors include BNC connectors, D-type connectors, CPCconnectors and panel mount connectors. Accordingly, the term"quick-disconnect connectors," as used herein, includes all such readilydetachable connectors and their equivalents, which allow at least twosignal conductors 5 to be interconnected without hard wiring.

With reference to FIG. 9, the ports 12 on cover panel or face 46 arealso connected to a powerway 92 by harnesses 94 and 95. Powerway 92 maybe a conventional type of powerway, having quick-disconnect connectors96 and 97 on opposite ends thereof. Connectors 96 and 97 areinterconnected by power conductors 101 (FIG. 10, only some of which arenumbered). Conductors 101 extend through power block 98. Power block 98includes two power taps 99 and 100 on a top wall thereof through whichthe power conductors 101 (only some of which are numbered) are accessed.Harness 94 includes a connector 103 which mates with tap 99. Conductors104 (only some of which are numbered) extend from connector 103 to eachof the ports 12 on the left side of panel face 47. Harness 95 similarlyincludes a connector 105 which mates with connector 100 and signalconductors 106, which extend between ports 12 on the right side andconnector 105.

Connector block 76 (FIG. 9) is also connected to powerway 92 byconductors 109. The network bridge receives operating power from thepowerway and generates a regulated DC voltage V+ using the AC powerreceived from the powerway.

In the example illustrated in FIG. 11, those cover panels or faces 47which do not include ports 12 (i.e., "non-ported" or "portless" panelfaces) do have a powerway 98 positioned in power raceway 55. Theseportless cover panels 47 also have an identification module 75B withassociated signal conductors 5 and a coupler 10 positioned in cableraceway 56. Connectors 6 and 7 terminate the ends of the signalconductors 5. Identification module 75B also includes a signaler 9,along with a second signaler 127, which are both connected to coupler10. The non-ported panel face 47 thus includes a signal conductor 5 anda powerway 98, similar to the ported panel faces 46.

As best shown in FIGS. 12 and 13, each of the illustrated ports 12includes a recessed housing 112, having an outer flange 113 on a facethereof which contacts cover panel face 46 and covers the perimeter of ahole which receives housing 112. Housing 112 may be attached to verticalframe uprights 48 by suitable conventional means, such as welding 111.The illustrated housing 112 includes a rectangular recess 110, which isclosed on four sides and the back. A quick-disconnect connector 114 ispositioned in housing 112 at the back of recess 110, and includes tenconnector ports 115 (only some of which are numbered) housing respectivemale connectors 116 (only some of which are numbered). Male connectors116 are connected to a respective conductor 104. A quick-disconnectsignal connector 117 is positioned adjacent connector 114 in housing112. Signal connector 117 includes seven female contacts 118 (only someof which are numbered). Contacts 118 are connected to conductors 83, 84,85, 86, and are selectively connected to conductor 87 (FIG. 8).

It will be appreciated that although the illustrated ports 12 have arecessed type of housing 112, other configurations could be utilized.For example, a multiple pin connector (not shown) having high powerhandling capability could be connected on the panel 3 to provide theports 12. Also, the ports 12 could be provided with only signalconductors and a connector for low power signals (e.g., an RJ-11 typeconnector) could be used. An alternative to using address conductorswould be to provide a memory chip at each port 12 having an addressstored therein. Accordingly, the term "port," as used herein, refers toany connector on a furniture unit, such as the cover panel or face 46,which provides access for the utility appliances 13-28 to thecommunications network 8, and more particularly the utility appliancenetwork 37, and encompasses all the above-described port configurations,as well as their equivalents.

In the illustrated embodiments, the six signal conductors 5 (FIG. 14)include three signal channels 130, 131 and 132, each having two of thesignal conductors 5. Channel 130 is a data channel for communicatinginformation, as described in greater detail hereinbelow. Channel 131 isan identifier channel for transmitting identification information, as isalso described in greater detail hereinbelow. Channel 132 is aconfiguration channel for transmitting information pertaining to theworkstations, as described hereinbelow.

The identification module 75B (FIG. 14) associated with the non-portedcover panels 47 includes junctions 125 for connecting signaler 9 to thesignal conductors 5 of the workstation identification channel 132. Thecoupler 10 of module 75B also includes junctions 126 for connectingsignaler 127 to signal conductors 5 of the identifier channel 131.Terminals 125 and 126 may be provided by an electrically conductivemeans, such as solder electrically connecting identifiers 9 and 127 towires 5, or an electrically conductive trace deposited on a printedcircuit board and connected to signal conductors 5, as well as signalers9 and 127.

The bridge module 75A (FIG. 15) is associated with the ported panel face46. Bridge module 75A functions as an interface between the furniturearrangement network 36, comprising interconnected signal conductors 5,and the utility appliance network 37. Bridge module 75A includes acoupler 10 (illustrated in phantom), and a communication bridge 128,which is coupled between signal conductors 5 and signal conductors 83,84. Coupler 10 includes relay switches 136 and 137, which are connectedin series in data channel 130. The switches 136, 137 are controlled by arelay coil 138. Switches 136 and 137 are normally closed, but areconnected to an impedance when the switches are open. The impedance ispreferably provided by a resistor 140 having an impedance ofapproximately 102 ohms. This resistor provides a suitable terminationimpedance for the data channel of furniture arrangement network 36 whenswitches 136, 137 are open. A transformer 144 is connected betweenterminals 145 and 146 of communication bridge 128 and data channel 130.Transformer 144 includes a winding 147 connected to terminals 145, 146,and a winding 148 connected to channel 130. Communication bridge 128 isconnected to identifier channel 131 by an optical coupler 150 and one ofthe signal conductors 5. Optical coupler 150 includes a light emittingdiode (LED) 151 connected to channel 131. A photodetector 152,implemented using a light responsive transistor, has an emitter and acollector connected to terminals 153, 154 of communication bridge 128.Coupler 10 also includes a conductor 156 connected to configurationchannel 132 and to terminal 157, and a conductor 158 connecting onesignal conductor of channel 132 to ground potential. A pull-up resistor160 connects conductor 156 to a five volt power supply. Coupler 10interrupts circuit 132. Accordingly, two signal conductors 5 areterminated at pins 161 and 162.

As will be apparent to those skilled in the art, although theillustrated coupler 10 of identification module 75B (FIG. 14) includesterminals 125 and 126 and the illustrated coupler 10 of bridge module75A (FIG. 15) includes transformer 144 and optical coupler 150, othertypes of couplers could be provided. For example, an optical splittermay be utilized with optical fibers, an impedance bridge could be usedto branch from electrical wires, or a repeater could be used toimplement branching off of conductors 5. Accordingly, the term"coupler," as used herein, includes all such branching devices,including optical couplers, transformers, junctions, logic circuits,splitters, and their equivalents.

The illustrated identification module 75B (FIG. 14) includes twosignalers 9 and 127, respectively. Signaler 9 is a switch which isconfigured to identify the first panel face of a workstation. Switch 9is implemented using a commercially available, two position, rocker ortoggle type of switch. A first position of the switch indicates that thepanel face associated with the switch is the first panel face of aworkstation, and a second position indicates that the panel faceassociated with the switch is not the first panel face of a workstation.Signaler 127 is an identification unit which may be implemented usingintegrated circuit No. DS 1991, available from Dallas Semiconductor,Inc. In addition to these signalers, bridge module 75A (FIG. 15), asdescribed in greater detail hereinbelow, also includes a communicationbridge 128 having a DC power supply, transmitters and receivers (notshown). The communication bridge 128 is thus used for communicating overchannels 130, 131 and 132, and utility appliance network conductors 83,84.

It will be appreciated that other devices for inputting and outputtingsignals may be utilized in the system. For example, a transducer couldbe connected to the circuit or optical transmission devices could beconnected thereto. Accordingly, the term "signaler," as used herein,encompasses all devices capable of originating or receiving signals,including those described above, and their equivalents.

As best shown in FIG. 16, the illustrated bridge module 75A has acommunication bridge 128 that includes a microcontroller 165.Microcontroller 165 may be implemented using any suitable commerciallyavailable microprocessor, such as IC No. 80C152, manufactured by IntelCorporation. Microcontroller 165 includes an EPROM and a RAM (notshown). Bridge module 75A also includes a signaler in the form ofidentification unit 127 connected to microcontroller 165 through acommunication bus 166. The identification unit 127, which is similar toidentification unit 127 in identification module 75B, includes a unique,48-bit identification number representing the panel face with which thebridge module 75 is associated. The identification unit 127 may beimplemented using a commercially available integrated circuit such ascircuit No. DS 2400, available from Dallas Semiconductor, Inc., or anyother suitable memory device.

The identification units 127 (FIGS. 7, 9 and 11) as noted above areprovided for identification modules 75B and bridge modules 75A; andinclude a memory device having a unique identification code. Thesememory devices are interrogated as described in greater detailhereinbelow to identify: the number of panel faces between networkcontroller 11 and the first ported panel face 46; between eachsubsequent ported panel face up to the last ported panel face; andbetween the last ported panel face and the network controller 11. In aparticularly advantageous embodiment of the present invention, theidentification unit 127 may also include a part identification numberfor the furniture unit 3 in which the identification module 127 isconnected. Communication bridge 128 can interrogate the identificationmodules 127 to learn the identification code and the type of furnitureunit 3 in which it is positioned, as well as the identification code andfurniture unit type of adjacent portless furniture units 3. The networkcontroller 11 can use this information to produce a centralizedinventory of the furniture arrangement 1.

As also shown in FIGS. 15 and 16, microcontroller 165 is also coupled toa first unit of workstation switch 9 through channel 132.Microcontroller 165 monitors switch 9 upon initialization to determinewhether the furniture portion, which is illustrated as a panel face 46,associated with module 75A is the first furniture portion of aworkstation, as described in greater detail hereinbelow. The switch 9may be implemented with any suitable switch, such as a toggle switch.Microcontroller 165 is coupled to utility appliance network conductors83-87 through a utility appliance network interface 169 and acommunication bus 170. The utility appliance network interface 169 maybe implemented using any suitable commercially available circuit, suchas an RS485 driver/receiver, available from Texas Instruments. Themicrocontroller 165 is connected to the furniture arrangement network36, which is made up of interconnected signal conductors 5, through afurniture arrangement network interface 174 and a communication bus 175.Interface 174 includes the components illustrated in FIG. 15 connectedbetween communication bridge 128 and signal conductors 5. Interface 174also includes commercially available integrated interface components,such as a hex inverter, a relay driver, and an RS485 driver/receiver.

Network controller 11 (FIG. 18) includes a microcontroller 179, whichmay be implemented using any suitable commercial microprocessor, such asIC No. 80C152 manufactured by Intel Corporation. The microcontroller 179includes random access memory (RAM) (not shown), read only memory (ROM)(not shown), and nonvolatile RAM (not shown). An optional personalcomputer (PC) input port 180 is connected to any suitable commerciallyavailable asynchronous communication controller (ACC) 182 throughcommunication bus 183. The ACC is connected to a microcontroller 179 viabus 184. The PC input port 180 may be implemented by any suitableconnector, such as a nine-position connector, which will mate with theRS-232 port of a PC. A PC connected to microcontroller 179 receivesstatus information for use by an operator, and inputs control signals tocontrol the operation of the utility appliances 13-28 in a selectedcommunications network 8, as described in greater detail hereinbelow.The network controller 11 may optionally include a keypad input 190, analarm 191 and a display 192. Keypad 190 and display 192 may be providedby any suitable conventional keypad and display, such as those utilizedfor personal computers. The keypad 190 and display 192 are used as aninterface with microcontroller 179, and may be provided in addition to aPC. Alarm 191 may be provided by any suitable conventional transducer.The 191 alarm may, for example, provide an audible signal when amaintenance message is generated on display 192.

The microcontroller 179 (FIG. 18) is connected to a network interface195, which includes a male connector 198 provided by a conventional maleRJ-11 six-pin quick-disconnect connector. A female quick-disconnectconnector 196 is provided by a conventional female RJ-11 six-pinquick-disconnect connector. Furniture arrangement network 36 isconnected to quick-disconnect connectors 196 and 198. As illustrated inFIG. 17, the workstation identification channel 132 is connected throughnetwork controller 11, such that the network controller is transparentto this channel. A transformer 205 includes windings 206 and 207,wherein winding 206 is connected to data channel 130, and winding 207 isconnected to an interface circuit 210. Interface circuit 210 is alsoconnected to one of the signal conductors 5 of identifier channel 131,and interface circuit 210 is connected to microcontroller 179 viacommunication bus 212.

Microcontroller 179 (FIG. 17) is connected to an interface circuit 213through a communication bus 208. Interface circuit 213 is connected tochannel 130 through connector 198 and transformer 214. One winding 215of transformer 214 is connected to channel 130, and the other winding216 is connected to interface circuit 213. An optical coupler 217includes a diode 218 connected to identifier channel 131. Aphotodetector 219 of optical coupler 217 is connected to interface 213.The interface circuits 213 and 210 comprise suitable, conventional,impedance and protection circuitry for interfacing with microcontroller179, and may include integrated circuit components, such as octaltransceivers and RS485 drivers.

As will be appreciated, the utility distribution system 1 includes anetwork controller 11 for controlling each communications network 8 ofinterconnected signal conductors 5. Thus, a single network controller 11is provided for each communications network 8. However, the system 1 mayinclude a plurality of communications networks 8, each of which has arespective network controller 11. It is envisioned that all the networkcontrollers 11 be connected in a network, such that a central controllermay monitor all the network controllers 11 to control all thecommunications networks 8.

Although the illustrated network controller 11 includes amicrocontroller 179 in the form of a microprocessor and associatedinterface circuits, it will be appreciated that network controller 11could be implemented using any commercial microprocessor based device,such as a personal computer. Thus, the term "network controller," asused herein, includes all such devices capable of controlling,communications network 8, and their equivalents.

As described briefly above, the utility appliances 13-28 (FIG. 1) areconnected to ports 12, and communicate through utility appliance network37 (FIG. 2). One type of utility appliance is a switch 27 (FIGS. 19-21),which includes a rectangular housing 235. According to the illustratedembodiment, the housing 235 has two switches 236 and 237 on a front face238 thereof. Switches 236 and 237 are implemented using a three-positionheader to control the operation of utility appliances 13-26 and 28connected in the utility distribution system 1. Each of the switches 236and 237 has a respective sixteen-position clock face associationselector 239, 240 associated therewith, which are also mounted on afront face 238 of housing 235. Selectors 239 and 240 are used to selectunit association numbers. As will be described in greater detailhereinbelow, all utility appliances 13-28 within a workstation 4 havingthe same number (0-9) on their respective association selector areassociated. All utility appliances 13-28 connected to a communicationsnetwork 8, regardless of their workstation 4, and having the same letter(A-F) are associated. The back surface 244 (FIG. 20) of the illustratedhousing 235 has an outwardly projecting power block 245, and an adjacentconnector 246. Connector 246 includes male contacts 248 for connectionwith female contacts 118 in port 12 (FIG. 12).

Switch 27 includes a circuit 250 (FIG. 21) mounted within housing 235(FIGS. 19 and 20). Circuit 250 includes a microcontroller 251 (FIG. 21),which may be implemented using any suitable microprocessor, such as acommercially available IC No. 80C31, available from Intel Corporation.The microcontroller 251 includes a RAM (not shown) and EPROM (notshown), which provide memory storage for the microcontroller.Association selectors 239, 240 are connected to microcontroller 251 viacommunication busses 252, 253, respectively. As described briefly above,selectors 239, 240 may be provided by sixteen-position clock dialselectors, or other suitable switch means. Switch 236 is connected tomicrocontroller 251 by conductors 255, 256, and switch 237 is connectedto microcontroller 251 by conductors 258, 259. Microcontroller 251 isconnected to connectors 248 by a bus 261.

Another one of the utility appliances 13-28 which may be utilized withsystem 1 is power outlet 25 (FIGS. 22-23), which includes a rectangularhousing 270 having a front face 271. The illustrated power outlet 25includes three receptacles 272, 273 and 274. However, it will berecognized that the power outlet 25 may contain any number ofreceptacles. Indicators 276, 277 and 278 are associated with receptacles272, 273 and 274, respectively. Each indicator 276-278 emits red, greenor yellow light according to the power level of the power source towhich its associated receptacle is connected, as described in greaterdetail hereinbelow. The indicators 276-278 are particularly usefulbecause users will want to plug appliances into a reliable power source.Thus, they will prefer a receptacle with a green indicator to one withyellow indicator, and they will prefer a receptacle with a yellowindicator to one with a red indicator. Users will thus assist inbalancing loads on different supplies by selecting the receptacle havingthe least load. An association selector 280, 281 and 282 is associatedwith each receptacle 272, 273, and 274, respectively. Selectors 280, 281and 282 may be provided by a sixteen-position clock face selector orother suitable switch means. These selectors are used to bindreceptacles 272-274, as described in greater detail hereinbelow.Indicators 276-278, receptacles 272-274, and selectors 280-282 arepositioned on the front face 271 of housing 270, so that they arereadily accessible to a user for manual manipulation.

The back surface 285 (FIG. 23) of power outlet housing 270 has outwardlyprojecting connectors 286 and 287 positioned adjacent one another.Connector 286 includes female contacts 288 (only some of which arenumbered) in protective silos 288' for connection with contacts 116(FIG. 12). Connector 287 includes outwardly projecting male contacts 289(FIG. 23, only some of which are numbered) for connection with contacts118 in port 12 (FIG. 12).

As shown in FIG. 22, receptacles, 272-274 each include threeconventional contacts for receipt of a conventional plug of the typeused for typewriters, clocks, radios, computers, printers, televisions,and the like. It will be appreciated that receptacles 272-275 may beprovided by any suitable, conventional power receptacle, such as a twocontact receptacle.

With reference initially to FIG. 24A, the circuit in housing 270 willnow be described. The power outlet 25 includes an identical circuit foreach receptacle therein. Accordingly, only the circuit for receptacle272 is described in greater detail herein. Receptacle 272 includescontacts 295, 296 and 297. Contacts 296 and 297 are connected tojunctions 298 and 299, respectively. Junctions 298 and 299 are, in turn,connected to the neutral supply and safety ground of a power supplycircuit through two contacts 288. Contact 295 is connected to a coil 301of a transformer 302. Coil 301 is connected in series with a switch 303,which is connected to a junction 304. Junction 304 is connected with alive conductor of the power supply circuit through a contact 288. Itwill be appreciated that any two or more of the first, second and thirdreceptacles 272, 273 and 274 may be attached to the power supply circuitof a single power source. Alternatively, each of the receptacles 272,273, 274 may be connected to a power supply circuit of a different,respective, power source.

Power outlet 25 includes three voltage detectors 310 (FIG. 24B), 311 and312 connected to receptacles 272-275, respectively. Voltage detectors310-312 are identical, and accordingly, only voltage detector 310 isdescribed in greater detail hereinbelow. Voltage detector 310 includes atransformer 314 having a first winding 315. Winding 315 has a terminal316 connected through a fuse 317 to a junction 304, and a terminal 318connected to a junction 299. A first overvoltage protection element 319is connected between terminal 316 and an associated junction 298. Asecond overvoltage protection element 320 is connected between aterminal 299 and an associated junction 298. The overvoltage protectionelements may be provided by any suitable conventional protectioncomponents, such as a 140-volt Metal Oxide Varister (MOV).

Transformer 314 (FIG. 24B) also has a secondary winding 322 with aterminal 323 connected to an output junction 324. Secondary winding 322also has a terminal 325 connected to ground. Junction 324 is connectedto the anode of a diode 326, and a cathode of a diode 327. The cathodeof diode 326 is connected to voltage regulator 328. The anode of diode327 is connected to a voltage regulator 329. Regulators 328 and 329 areconventional, and supply a positive output voltage and a negative outputvoltage, respectively. Each of the receptacles 272-274 associated withpower outlet 25 includes a respective diode 326, 326'; 326" and diode327, 327'; 327", which insures that the power supply circuit having asource with the largest magnitude of those connected to receptacles272-274, supplies power to the regulators 328 and 329. The secondarywinding 333 of transformer 314 has a terminal 335 connected to ground. Aterminal 336 of winding 333 is connected to a terminal 337 through aresistor 338. A resistor 339 is connected between terminal 337 andground. A diode 340 is connected between terminal 337 and +VREF. A diode341 is connected between terminal 337 and -VREF. Diodes 340 and 341insure that the voltage at terminal 337 is within the desired range of+VREF and -VREF.

Power outlet 25 also includes three current sensors 350, 351 and 352(FIG. 24A). Each of the current sensors 350-352 is identical, andaccordingly, only current sensor 350 is described in greater detailhereinbelow. Current sensor 350 includes a secondary winding 355 oftransformer 302, with a terminal 356 connected to ground, and a terminal357 connected to a junction 358. A resistor 359 is connected betweenjunction 358 and ground. A non-inverting input of an amplifier 360 isconnected to junction 358. The output 361 and inverting input 362 ofamplifier 360 are connected by a resistor 363 and a capacitor 364, whichare connected in parallel. The output 361 of amplifier 360 is alsoconnected to a current sensor output 370 through a resistor 371. Fourcircuits 372, 373, 374 and 375 are connected in parallel between theinverting input of amplifier 360 and ground potential. These circuitsare identical, and accordingly, only circuit 375 is described in greaterdetail hereinbelow. Circuit 375 includes a resistor 376 and a MOSFETelement 378. The MOSFET element is an N-channel device having a sourceconnected to ground potential, a drain connected to a respectiveresistor 376, and a gate conncted to an interface circuit 379 to receivea control signal. A diode 380 is connected across each MOSFET element ina conventional manner to provide protection therefor.

The interface circuit 379 (FIG. 25) is connected to a microcontroller385 through a communication bus 386. Interface circuit 379 has arespective output connected to the control input of each circuit 372-375(FIG. 24A). Each control input is also connected to a respective pull-upresistor 387, only some of which are numbered. The interface circuit 379selectively places circuits 372-375 in a conductive state to vary thenet resistance of these circuits, which adjusts the gain of amplifier360.

The microcontroller 385 (FIG. 25) associated with power outlet 25 may beimplemented using any suitable conventional microprocessor, such ascommercially available IC No. 80C31, available from Intel Corporation.The microcontroller 385 includes RAM and EPROM memory devices (notshown), and is connected to an interface circuit 388 throughcommunication bus 389. Interface circuit 388 includes an A/D converterwhich converts analog voltage level and current level signals to digitalrepresentations thereof. The digital output signals are input tomicrocontroller 385. Microcontroller 385 is also connected to a visualindicator interface circuit 395 through a data bus 396. The visualindicator interface circuit 395 is connected to visual indicators397-399, each of which preferably includes a red LED and a green LED.These LEDs are illuminated to implement indicators 276-278,respectively. Interface circuit 395 receives control signals from themicrocontroller 385 and energizes the visual indicators 397-399 to emitred, green or yellow light by controlling current pulses input to thevisual indicators. The visual indicators 397-399 are individuallycontrolled to generate a red signal if the power sources for thereceptacles 272-274 of power outlet 25 are overloaded, a green signal ifthe power sources have ample capacity to support an increased load, anda yellow signal if the power sources are near a maximum capacity.

Microcontroller 385 (FIG. 25) is coupled to connector 287 through a databus 288. Connector 287 connects to the address conductor 87 and thesignal conductors 83, 84 when the power outlet 25 is connected to a port12. The microcontroller 385 is connected to a switch interface circuit400 through a data bus 401. The association selectors 280-282 areconnected to interface circuit 400. The association selectors forreceptacles 272-274 are used to bind utility appliances 13-28, as isdescribed in greater detail hereinbelow. The selected positions of theassociation selectors 280-282 are input to the microcontroller 385 frominterface 400.

The microcontroller 385 (FIG. 25) is also connected to contacts 406through a data bus 407 and an interface circuit 408. Contacts 406 areconnected to a respective one of gates 410-412 (FIG. 24A) of MOSFETelements 413-415. The drain of each of the MOSFET elements 413-415 isconnected to an associated one of three relay coils 417-419,respectively. Each of the MOSFET elements 413-415 is selectivelyenergized to allow current to flow through its associated relay, andthus open switches 303, 303' and 303" associated therewith. Whenswitches 303, 303' and 303" are open, receptacles 272, 273 and 274,respectively, are disconnected from their associated power source. Whenrelays 417-419 are not energized, switches 303, 303' and 303" areclosed, such that the receptacles 272-274 are connected to theirassociated power source.

The power outlet 25 (FIG. 25) may optionally include a TRIAC dimmer 425,which is connected to microcontroller 385 through a data bus 426. Thedimmer 425 may be implemented using any suitable commercially availableTRIAC dimmer. TRIAC dimmer 425 is responsive to signals from themicrocontroller 385 to increase and decrease the power output to arespective power outlet 25.

In addition to the utility appliances 13-27, a power-in 28 (FIG. 26) maybe included in the utility distribution system. Power supplied to themodular furniture arrangement 2 is supplied through one or morepower-ins 28. Power-in 28 is substantially similar to power outlet 25and, accordingly, only those differences between power-in 28 and poweroutlet 25 are described in greater detail hereinbelow. Initially, it isnoted that although the power-in 28 preferably does not includereceptacles or association selectors, receptacles with respectiveassociation selectors may be provided in power-in 28. Each power-in 28includes, by way of example, three identical power supply circuits. One,two, or more than three power supply circuits could be provided. Eachpower supply circuit source (e.g., 1, 2, 3) is identified using powersource identification 280'-282' (FIG. 27). A first power supply circuitsource is connected to terminals A, B and C (FIG. 26). A second powersupply circuit source is connected to terminals D, E and F. A thirdpower supply circuit source is connected to terminals G, H and I.Terminals B and C are directly connected to terminals k and l,respectively. Terminal A is connected to terminal j through a switch 303which is identical to switch 303, in power outlet 25. Output terminalsj, k and l are power-in outputs for the first power supply source. Thepower supplied to communications network 8 from the first power sourceis output at terminals j, k and l. Terminals D, E and F are similarlyconnected to output terminals m, n, o and input terminals G, H, I aresimilarly connected to output terminals p, q, r. The power-in 28includes three clipping switches 431, 432 and 433 connected in parallelwith "on-off" switches 303, 303' and 303," which are described abovewith respect to the power outlet 25. The "on-off" switches 303, 303' and303" are used to turn off the power supplied throughout connectionsnetwork 8 by disconnecting the output supply terminals j, m, p from theinput terminals A, D, G, respectively. The clipping switches 431-433 areimplemented using any suitable commercially available optically isolatedswitch, and are preferably implemented using optically isolated TRIACs.A microcontroller 385' (FIG. 27) includes three outputs 435, 436 and437. Outputs 435-437 are connected to gates 440-442 (FIG. 26) of MOSFETelements 444-446, respectively. The gates 440-442 are also connected topull-up resistors 447-449, respectively. MOSFET elements 444-446 areconnected between the control input of a respective clipping switch431-433 and ground potential. A diode 450 is connected to the source anddrain of each of the MOSFET elements 444-446 for protection. Themicrocontroller 385' is thus programmed to control the relay switches303, 303', and 303," so as to turn the power supply circuits on and offfor the entire communications network, and the clipping switches431-433, so as to effect a clip of approximately half of a cycle ofpower (but from a point of zero current to a point of zero voltage inorder to avoid surges due to reactance in the circuit) as supplied bythe power supply circuit.

It will be appreciated that those utility appliances which may beconnected to the ports 12 of the furniture unit 3 include many otherdevices in addition to the switches 27, power outlets 25 and power-ins28, described in detail herein, including utility appliances 12-24 and26 relating to communication ports, telephone ports, thermostats,ventilation system controllers, security components and electronic locksand the like, as well as utility appliances which have not yet beendeveloped, but will become available sometime in the future. Thus, theterm "utility appliance," as used herein, includes any such device,component, or appliance which can communicate directly or indirectlywith the network controller 11, and may be connected to the ports, orotherwise connected with the utility distribution system 1 and isdirectly or indirectly involved in the distribution of a utility tosupport the worker at workstations 4.

One aspect of the present invention, as discussed briefly above, is theability of network controller 11 to automatically bind utilityappliances 13-28. Binding is the logical association of variouscompatible appliances 13-28 within a furniture arrangement 2 (FIG. 1).By way of example, if a given furniture arrangement contains a pluralityof power outlets 25 and switches 27, the binding process establisheswhich switches 236, 237 of utility appliance switches 27 control whichreceptacles 272-274 in power outlets 25. The method of bindingreceptacles in power outlets 25 and switches of utility appliance switch27 described above uses association selectors 239, 240 in FIG. 19 andassociation selectors 280-282 in FIG. 22 on these utility appliances.The number, or letter, selected using selectors 239, 240 and 280-282 arecommunicated to the network controller 11 (FIG. 1) from the utilityappliances 25, 27 upon initialization. During operation, when switch 236changes state, utility appliance switch 27 communicates a state changecondition to the network controller 11. The network controller 11communicates an on or off signal to all the utility appliances 25 havinga receptacle 272-274 which are bound to switch 236 by having the sameselector number or letter.

Another method of binding will be described with reference to FIG. 1.This method uses network controller 11 or a personal computer 13. Thepersonal computer 13 may be utilized as a personal controller connectedto the network controller 11 through communications network 8 to controlthe utility appliances 13-28 within a workstation 4. Such a personalcontroller is thus a utility appliance, including a keyboard andmonitor. Preferably the personal controller is subservient to thenetwork controller 11. It is envisioned that the personal controllerand/or network controller include a monitor which graphically displaysthe location of ports 12, the utility appliances connected to the ports,and their bindings in a workstation 4, or across the entire utilitydistribution system 1. The operator can change the bindings by entry ofa personal identification number, and then entry of new bindings, usingthe keyboard or a mouse. In the case of the network controller 11, thefacilities manager of the building would preferably have an exclusive IDwhich permits him/her to change bindings throughout the network.

In the case of a furniture arrangement 2 having multiple workstations 4,an automatic binding template may be created. The template can be set upby the facilities manager. The utility appliances 13-28 in each of theworkstations 4 are automatically bound in a predetermined manneraccording to the template when they are plugged into a port 12. However,the binding could be altered using the network controller 11 or thepersonal controller implemented using personal computer 13.

With reference to FIG. 1, binding is accomplished internally in thefollowing manner. The network controller 11 keeps a binding list. Thelist is created responsive to a binding command created when a utilityappliance, such as switch 27, is initialized. The position address(AD0-AD2) of the utility appliance, such as switch 27, together with itsassociation selector settings are used to derive a vocabularyrepresenting the binding. A bind command binds all of utility appliances13-26 and 28 to switches 236, 237 of utility appliance switch 27 byplacing these utility appliances on the binding list for switches 236,237 of utility appliance switch 27. Thereafter, an input parameter, suchas a change of state of switches 236, 237 will cause all utilityappliances 13-26, 28 on the binding list for switches 236, 237 to changestate.

It will be recognized that the above binding methods only contemplatethe presently preferred embodiments of the invention. Hence, it will beappreciated that binding could be accomplished using a variety ofdifferent procedures. Accordingly, the term "binding," as used herein,encompasses all of these methods of logically associating two or moreutility appliances that are functionally compatible (e.g., using aselector, a template, or a binding list) and their equivalents.

Communications network 8 will now be described with reference to anillustrative, three panel furniture arrangement, which is shownschematically in FIGS. 28A and 28B. As described above, when partitionpanels 3 are positioned side-by-side, the male quick-disconnectconnector 7 associated with each signal conductor 5 is inserted into thefemale quick-disconnect connector 6 of the next adjacent signalconductor 5. All signal conductors 5 in a particular furniture group 2are similarly interconnected, so as to form the furniture arrangementnetwork 36 configured in the form of a loop. Female connectors 196 (FIG.28B) and male connector 198 of network controller 11 are connected tothe last male connector 7 and the upstream female connector 6,respectively, to complete the furniture arrangement network 36.

In a similar manner, quick-disconnect connectors 96 and 97 (FIG. 9)associated with adjacent powerways 98 are joined to form a continuouspower supply, which extend from power-ins 28 (FIG. 1) through thefurniture arrangement 2 along with communications network 36, which isconfigured in a loop. Wire harnesses 94 (FIG. 9) are connected to thepowerways 98 in each of the panels 3 having ports 12 located thereon.The utility appliance network 37 on each of the ported cover panels orfaces 46 is plugged into connector 77 (FIG. 3) of bridge module 75A. Theutility distribution system 1 associated with panels 3 (FIG. 2) is thusquickly assembled to provide both power and communication capability tothe various ports 12.

The installer must position the first portion of workstation switches 9(FIG. 28A), such that they identify whether the associated cover panelis the first cover panel of a workstation 4, or a continuation of aworkstation 4. Those cover panels, or panel faces, which are the firstportion of a workstation 4 have their associated switches 9 placed inthe "on" position, and those panel faces which are not the first portionof a workstation 4 are placed in the "off" position.

Utility appliances 13-28, such as power outlets 25, switches 27, andpower-ins 28 are connected to ports 12 on the cover panels or faces 46of the panels 3 (FIG. 1). The association selectors 239, 240 (FIG. 19)or 280, 281, 282 (FIG. 22) are set to a position 1-9 or A-F to bindswitches 236, 237, utility appliance switch 27 and receptacles 272-274in power outlets 25, as described in greater detail hereinbelow. Ingeneral, it is envisioned that positions 0-9 will only associate utilityappliances 13-28 in the same workstation 4, whereas positions A-F willassociate utility appliances 13-28 network wide. For example, allutility appliances 13-28 (FIG. 1) in a workstation 4 having the sameselector number (1-9) are associated. All utility appliances 13-27 infurniture arrangement 2 having the same selector letter (A-F) areassociated.

If desired, a PC is connected to port 180 (FIG. 18) of the networkcontroller 11. However, the PC is not necessary to communicate with thenetwork controller 11 if keyboard 190 and display 192 are provided.

In general the use of a network controller 11 (FIG. 1), whichcommunicates with bridge modules 75A, which in turn communicate with theutility appliances 13-28 and identification modules 75B, provides anumber of significant advantages. The bridge modules 75A interfacebetween the furniture arrangement network 36 and all the utilityappliances 13-28 on a single ported panel face 46. This allows thefurniture arrangement network 36 to have a loop, and eliminatesbranching in the network which would otherwise introduce noise intocommunications network 8 and severely limit the number of utilityappliances 13-28 that could be connected to the network controller 11.Another advantage is that only a single component in each panel face 46requires the external drive circuitry necessary to communicate overfurniture arrangement network 36. In the limited confines of the utilityappliance network 37, low cost drive circuits may be utilized for theutility appliances 13-28. An additional cost savings is provided by thelow voltage DC power which is carried over conductors, 85 and 86 (FIG.8). The small power requirements allow a low cost power supply (notshown) in bridge module 75A, and coupled to powerway 92, to fulfill thepower requirements of two panel faces 46 on a furniture unit 3.

OPERATION

In general, the illustrated network controller 11 is assigned thefollowing tasks:

1. Transmitting a periodic message;

2. Receiving operating instructions from utility appliances 13-28connected in the communications network 8;

3. Receiving utility appliance operating parameters;

4. Transmitting utility appliance instructions responsive to deviceparameters and stored instructions;

5. Identifying utility appliances 13-28 in the communications network 8;

6. Identifying the location of utility appliances 13-28 in the utilityappliance network 37;

7. Identifying furniture units 3 in the network 8;

8. Identifying the location of bridge modules 75A in the furniturearrangement network 36;

9. Storing bindings; and

10. Reinitializing the system when a reset is required.

The illustrated bridge module 75A is assigned the following tasks:

1. Monitoring the periodic messages on the furniture arrangement network37;

2. Receiving operating instructions from utility appliances 13-28 on anassociated ported panel face 46, and communicating the same to thenetwork controller 11;

3. Receiving utility appliance parameters from utility appliances 13-28and communicating the same to the network controller 11;

4. Receiving instructions from the network controller 11, and relayingthe same to utility appliances 13-28;

5. Receiving location information from utility appliances 13-28, andcommunicating same to the network controller 11;

6. Identifying the relative location of the bridge module 75A, andcommunicating same to the network controller 11;

7. Identifying identification modules 75B associated with non-portedpanel faces 47, and communicating the same to network controller 11; and

8. Identifying beginning of workstations 4, and communicatingworkstation information to the network controller 11.

The illustrated utility appliance switch 27 has the following tasks:

1. Identify the location of the switch 27, and communicate the same tobridge module 75A;

2. Download operating instructions to the bridge module 75A uponinitialization;

3. Transmit association selector positions 239, 240 for each switch ofthe utility appliance switch 27 to the bridge module 75A; and

4. Transmit switch control signals to bridge module 75A.

The illustrated power outlet 25 is assigned the following tasks:

1. Identify the location of the power outlet 25 on a ported panel face46, and communicate the same to bridge module 75A;

2. Download operating instructions to bridge module 75A uponinitialization;

3. Transmit the positions of the association selectors 280-282 for eachreceptacle 272-274 on power outlet 25 to the bridge module 75A;

4. Transmit voltage, current and power levels for each receptacle272-274 to bridge module 75A;

5. Receive and implement an instruction to turn one or more of thereceptacles 272-274 on and off;

6. Provide a visually perceptible indication of the power draw on thepower circuit to which each receptacle 272-274 on power outlet 25 isconnected;

7. Provide dimmer control for each receptacle 272-274 on power outlet25; and

8. Provide a response to a circuit identification signal transmittedfrom power-in 28.

The power-in 28 is assigned the following tasks:

1. Identify the location of the power-in 28 on a ported panel face andcommunicate the same to bridge module 75A;

2. Download operating instructions to bridge module 75A uponinitialization;

3. Provide a visually perceptible indication of the power draw on eachpower circuit therethrough;

4. Transmit a signal from the power-in 28 to the receptacles 272-274 ofthe power outlets 25 having a common power source;

5. Selectively turn on and off the power supply circuits for thefurniture arrangement; and

6. Transmit voltage, current and power levels for each circuitcontrolled by it.

A general description of the operation of the illustrated utilitydistribution system 1 will now be made with reference to FIGS. 28A and28B. A more detailed description of the utility distribution system 1follows this general description.

During normal operation, a network controller 11 (FIG. 28D) transmits aperiodic message, referred to herein as the "heartbeat," every 50 msecs.Bridge modules 75A accept these heartbeats. If one of the bridge modules75A does not detect a heartbeat for 500 msecs., the bridge module isreset. The network controller 11 resets when any one of the bridgemodules 75A resets, as described herein below. A utility appliance 13-28will also reset when the bridge module 75A to which it is connectedthrough a utility appliance network 37 resets. Thus, when the networkcontroller 11 suspends transmission of the heartbeat, every bridgemodule 75A, and thus every utility appliance 13-28 in the communicationsnetwork 8 coupled to the network controller 11, resets.

During normal operation, utility appliances 13-28 (FIG. 28B) transmitstate information to network controller 11. The network controller 11 isresponsive to state information to transmit control information toutility appliances 13-28. The network controller 11 and utilityappliances 13-28 communicate with one another through bridge modules75A. The programs that derive the control information from the stateinformation are loaded into the network controller 11 from the utilityappliances 13-28 during initialization, as described in greater detailhereinbelow.

The network controller 11 (FIG. 1) has the ability to automaticallydetermine the location of utility appliances 13-28 on a furniture unit4. This is done by identifying the location of utility appliances 13-28on a furniture unit portion, such as panel face 46. The location ofutility appliances on the furniture unit 3 is determined from addressinformation AD0-AD2 (FIGS. 8, 8A, 8B) available at ports 12 on thefurniture units 3. The locating of utility appliances 13-28 is alsofacilitated by the ability to evaluate furniture units 3 usingcommunication modules 75 (FIG. 4), as described in greater detailhereinbelow.

Utility appliances 13-28 (FIG. 1) are also associated with one anotherusing the network controller 11, as described in greater detailhereinbelow. For example, in the embodiment described herein, eachutility appliance 25 (FIG. 22) includes association selectors 280-282,and each utility appliance 27 (FIG. 19) includes association selectors239, 240. The network controller 11 (FIG. 1) associates all utilityappliances 13-28 that are within a workstation 4, and have theirassociation switch set at the same one of positions 0-9. The networkcontroller 11 also associates all utility appliances 13-28 within thefurniture system 2 having their association switch at the same one ofpositions A-F. Where a control utility appliance, such as a switch 236,237, in utility appliance switch 27 and a controlled utility appliance,such as a receptacle 272, 274 in power outlet 25, are associated andfunctionally compatible, they are bound, and changing the state of tilecontrol utility appliance (e.g., flipping the switch 236, 237) willresult in a change in the state of the associated controlled utilityappliance (e.g., turning on or off the power supply to a receptacle272-274).

An important characteristic of the utility distribution system 1(FIG. 1) described herein is that communication between utilityappliances 13-28 and network controller 11 utilizes a request procedure.When the state of a utility appliance 13-28 changes, the utilityappliance attempts to establish a virtual circuit with the networkcontroller 11. A virtual circuit is a connection, through communicationsmodules 75 and between a utility appliance and the network controller,which permits communication therebetween. Only when the networkcontroller 11 is ready to process the state information does it acceptthe virtual circuit. The utility appliances 13-28 will then send thecurrent state information to the network controller 11. Thus, the stateinformation that is sent to the network controller 11 is always the mostup to date information available. Similarly, when the network controller11 program determines that some control information should be sent toone of the utility appliances 13-28, it first attempts to establish avirtual circuit with the utility appliance. Only when this virtualcircuit is established does the network controller 11 program actuallydevelop the control message that is to be sent to the utility appliances13-28. Thus, the utility appliances 13-28 are always commanded toperform actions consistent with the most recently detected state of thecommunications network 8. This avoids having either state or controlinformation enqueued, waiting to be processed.

The utility appliance networks 37 (FIG. 9) are designed as pollednetworks. Each bridge module 75A creates a poll list based on addressesAD0-AD2. Bridge module 75A polls each utility appliance 13-28 connectedto a port 12 in its associated utility appliance network 37, and on itspoll list, in address (AD0-AD2) order sequence. Periodically, the bridgemodule 75A acts to determine if any new utility appliances 13-28 havebeen added by connection to a port 12 in the utility appliance network37. If new utility appliances 13-28 are detected, the poll list isupdated to include the new utility appliance. Once a utility appliance13-28 has been added to the poll list, the added utility appliance mustrespond to each poll (or one of its retries). If a utility appliance13-28 fails to acknowledge a poll message (or any of its retries), thebridge module 75A will reset and restart operation with an empty polllist. If a utility appliance 13-28 having responded to a configurationmessage, and thereby having placed itself on the poll list, thereafterreceives another configuration message, the utility appliance willreset. Thus a failure (or removal) of any configured utility appliance13-28 will cause the bridge module 75A to reset, and the reset of thebridge module 75A will cause all configured utility appliances on thatutility appliance network 80 to reset when an attempt is made toreconfigure them.

The network controller 11 (FIG. 28A) resets the utility distributionsystem 1 upon initialization of the communications network 8, a failurein the communications network 8, a change in the utility distributionsystem 1, or a power down. A failure in the communications network 8will be detected when an activity sensor at the female connector 196("end of loop") of the network controller 11 does not detect networkactivity when a signal is transmitted on the furniture arrangementnetwork 36 or when the network controller 11 makes repeated transmissionwithout receiving an acknowledgement. Whenever the network controller 11resets, the network controller initiates a reset sequence to determinethe relative location of utility appliances 13-28 and communicationmodules 75 in the system. The first action taken by network controller11 upon reset is to suspend the heartbeat for about four seconds. Thiswill insure that all bridge modules 75A (FIG. 28B) in network 8 arereset, and will also result in utility appliances 13-28 connected tobridge modules 75A resetting as described hereinbelow.

The network controller 11 (FIG. 28B) and bridge modules 75A eachinitiate a sequence on the identifier channel 131 to determine thenumber of downstream identification modules 75B between it and a nextsequential bridge module 75A or controller 11. The bridge modules 75Aalso check the status of the configuration channel 132 to determine ifany upstream first-portion-in-workstation switches 9, associated with itor a connected upstream identification module 75B, is closed, so as toascertain if they are a first bridge module 75A in a workstations.Bridge modules 75A will also attempt to reconstruct the utilityappliances 13-28 attached to the utility appliance network 37 associatedtherewith as described briefly above, and in greater detail hereinbelow.

The utility appliances 13-28 upon being reset, attempt to establish aconnection, which shall be referred to herein as a virtual circuit,communication connection with the network controller 11, for the purposeof sending their control programs to the network controller 11. In thepreferred embodiment, the control programs are written in a dialect ofthe FORTH program language, which is an interpreted language, but anysuitable programming language could be utilized, including a compiledlanguage.

After reset, the data channel 130 (FIG. 28B) of the furniturearrangement network 36 is broken into respective segments by relayswitches 136, 137 associated with each bridge module 75A. One bridgemodule 75A, and any number of sequential identification modules 75B, areincluded in each segment. After suspending the heartbeat forapproximately four seconds, the network controller 11 re-enables theheartbeat, but disables any reset that might be caused by a networkactivity sensor on the female connector 196 failing to detect networkactivity. The network controller 11 then sends a configuration messageaddressed to any unconfigured bridge module 75A on the furniturearrangement network 36. At this stage, the data channel 130 of thefurniture arrangement network 36 is segmented, so that there is only oneunconfigured bridge module 75A on the furniture arrangement network thatwill receive this message. The message includes information that thisunconfigured bridge module 75A is bridge module number one. Bridgemodule number one then closes its relay switches 136, 137, reconnectingthe data channel of the furniture arrangement network 36 to the nextsegment. Bridge module number one also determines the number ofidentification modules 75B associated therewith, and responds to theconfiguration message with the number of identification modules 75Bdetermined and the status of the first-portion-in-workstation channel131.

Upon receiving this configuration response message from bridge numberone, the network controller 11 then sends a configuration messageaddressed to any bridge module 75A on the furniture arrangement network36. This message indicates that the unconfigured bridge module 75A isnetwork bridge number two. At this stage, bridge module number one hasjoined the network controller segment with the next segment, so thatthere are two bridge modules 75A on the furniture arrangement network36. Network bridge number one is already configured, so it does notrespond to the new configuration message. The second network bridgemodule 75A is the only unconfigured bridge module 75A on the datachannel, so it responds to the configuration message by closing itsrelay switches 136, 137, reconnecting the data channel of the nextdownstream segment, and responds to the network controller 11 with aconfiguration response message. The configuration response messageincludes the number of identification modules 75B that are associatedwith the second bridge module (between it and the next bridge module 75Aor controller 11), and the status of the first-portion-in workstationswitches 9 on channel 132. The network controller 11, upon receivingthis configuration response message, will send a new configurationmessage identifying the next unconfigured bridge module 75A as bridgemodule number three. The procedure continues in a similar fashion asthat described above with respect to bridge modules number one and two,until all bridge modules 75A on the furniture arrangement network 37 areconfigured.

After the network controller 11 has received the configuration responsemessage from the last bridge module 75A, the network controller 11 sendsa final configuration message addressed to any unconfigured bridgemodules on the furniture arrangement network 36. Since all bridgemodules 75A have been configured, the message will not generate anyconfiguration response message. The software associated with networkcontroller 11 then checks whether the configuration message hasgenerated any activity at the female connector 196 of the networkcontroller. Normally, this will be the case, since all bridge modules75A on the data channel 130 of the furniture arrangement network 36 willnow form a single complete loop from the male connector 198 to thefemale connector 196 of the network controller 11. The networkcontroller 11 then rearms the activity sensor on the female connector196, so that any failure to detect activity while sending a message willcause a reset of the network controller 11, as described hereinbelow.

If activity is not detected at the female connector 196 when the finalconfiguration message is sent, network controller 11 identifies a faultcondition, and assumes that there is some problem either with one of thebridge modules 75A or with the conductivity of the furniture arrangementnetwork 36. Since network controller 11 has ascertained the total numberof bridge modules 75A up to the fault in the initialization procedure,as well as the total number of modules 75B coupled to the counted bridgemodules 75A, and since each of these bridge modules 75A andidentification modules 75B corresponds to a furniture portion (e.g., apanel face), the network controller 11 can present, as diagnosticinformation, the sequential order number of the furniture component thatis the most likely location of the fault.

Once this configuration of furniture arrangement network 36 iscompleted, the network controller 11 begins accepting virtual circuitsbetween utility appliances 13-28 (FIG. 1) and the network controller,and loading and initializing control programs from them. Once all thecontrol programs have been loaded and initialized, and all the bridgemodules 75A have been configured, the system start-up phase is complete.

It is noted that communication between bridge module 75A (FIG. 28B) andnetwork controller 11 is coordinated according to the ability of thenetwork controller 11 to process information. This is accomplished by asender (one of bridge module 75A or network controller 11) having arequest to communicate, but delaying information transmittal until thereceiver (the other one of network controller 11 and a bridge module75A) is ready to receive the message. The ability to receive iscommunicated by an acknowledgement being communicated to the sender witha non-zero credit. A credit is the amount of information (e.g. number ofwords) that the receiver will accept from the sender.

The operation of utility distribution system 1 will now be described ingreater detail, with reference to the flow charts of FIGS. 29-53D. Aperiodic, or heartbeat, message is transmitted by the network controller11 (FIG. 18) at predetermined intervals (e.g., every 50 msec.) formonitoring the integrity of the furniture arrangement network 36.Microcontroller 179 is programmed to wait 50 msec., as indicated inblock 1100 (FIG. 29). The program determines whether the heartbeat isenabled in decision block 1102. If the heartbeat is not enabled, theprogram returns to block 1100 and waits another 50 msec. When theheartbeat is enabled, as determined in block 1102, the program waits fora heartbeat buffer to become available as indicated in block 1104.Microcontroller 179 includes a dedicated memory location for theheartbeat message, and the program must wait for this buffer to becomeavailable after a previous transmission, as indicated in block 1104.When the buffer becomes available, the heartbeat is sent by placing themessage in the outbound message queue as indicated in block 1106.

To transmit the heartbeat message, or to transmit any message oncommunications network 8, a message is loaded into a transmission queue,which is located in the microcontroller memory of the sending mechanism(e.g., a utility appliance 13-28, network controller 11, bridge module75A, etc.), as indicated in block 1110 (FIG. 30). The program thendetermines whether the sender is busy, as indicated in decision block1112. If the sender is busy, the microcontroller 179 does not start thesender, but exits the subroutine. If the sender is idle, the programstarts the sender by initiating a sender interrupt (FIG. 31) asindicated in block 1114.

The program is responsive to a sender interrupt to transmit a messagestored in the message queue. When a message is to be transmitted by thenetwork controller 11; the microcontroller 179 initially determineswhether anything is stored in the internal transmission message queue,as indicated in block 1120 (FIG. 31). If no message is stored in thetransmission queue, the microcontroller 179 leaves the sender interruptsubroutine. If a message is stored in the sender message queue, themicrocontroller 179 starts sending the message by outputting the signalonto communication bus 130 (FIG. 17) through interface 213, transformer214 and connector 198, as indicated in block 1122 of FIG. 31. Theprogram then arms a detector connected to female connector 196. Thedetector monitors interface 210 (FIG. 17) to determine whether a signalis present on channel 130 at the female connector 196, as indicated byblock 1124 of FIG. 31. The program then waits for the message to end, asindicated in decision block 1126. When the end of the transmission isdetected, the microcontroller 179 checks to determine whether themessage was received at the network controller input interface 210 (FIG.17), as indicated in block 1128. If the message was not received, themicrocontroller 179 determines that there is a fault in the line andresets the network controller 11.

Network controller 11 initializes the utility distribution system 1 whenthe system is installed, whenever a fault or power loss occurs, causinga reset of network controller 11, or whenever the furniture arrangement2 is reconfigured. The network controller 11 initializes the system bydisabling the heartbeat message as indicated in block 1130 (FIG. 32).The program waits approximately 4 seconds, as indicated in block 1132,which causes a reset of all bridge modules and all utility appliances.Microcontroller 179 enables the heartbeat message as indicated in block1134. The program then sets a station number variable Z equal to zero asindicated in block 1136. The program increments the station numbervariable in, as indicated in block 1140. The microcontroller thenenqueues a preallocated configuration message, "unconfigured station isstation number Z" as indicated in block 1142. The program in themicrocontroller waits 0.5 second for a reply as indicated in decisionblocks 1144 and 1145. If a reply message is received from a bridgemodule 75A, stating, "station Z is in a configured state," the programcreates a table in microcontroller 179 for the bridge module 75A, asindicated in block 1146. The table is used to store information aboutthat panel face 46 associated with bridge module 75A. The program thenreturns to step 1140, wherein the station number variable Z isincremented. If a reply is not received in the 0.5 second time period,as identified in decision block 1144, the microcontroller 179 determineswhether the furniture arrangement network 36 loop is closed, asindicated in block 1148. The loop is closed if the signal detectordetects a message at interface 210 (FIG. 17) connected to the femaleconnector 196 of network controller 11. If the loop is closed,identification of the stations on the loop is complete. If the loop isnot closed, as determined in decision block 1148 and returns to block1130 to attempt initialization again.

Fault locations are detected when the network controller 11 fails toinitialize the entire furniture arrangement network 36. Optionally,fault locations may also be detected using optical coupler 150 (FIG.15). The optical coupler 150 is used to detect when a next adjacentupstream bridge module 75A (FIGS. 28A, 28B) (toward female connector 6)is powered down to allow partial operation of the system. When anupstream bridge module 75A is not powered up, the optical coupler 150will not output any signal, because the upstream bridge module will notpoll the identification channel 131. Because upstream powered downbridge modules 75A are detected automatically, using optical coupler150, the point of failure is identified to a downstream coupler 10 whichis still connected to the network controller 11. The downstream coupler10 can thus remain operational and communicate the fault information tothe network controller 11.

After all the bridge module 75A positions are identified, the networkcontroller 11 enters a wait state. The network controller 11 waits formessages from bridge modules 75A. There are heartbeat messages,acknowledgement messages, data messages and extended data messages,configuration messages, and configuration response messages. Thesemessages are represented by HEARTBEAT, ACK, DATA, XDATA, CONFIG andCONFIG RESPONSE, respectively. Each message has a source ID (sender), adestination ID (receiver), a message type, and a message. Whenever adata or extended data message is transmitted, the destination utilityappliance sends a reply. This provides an integrity check, as well as avery reliable communication method.

When the network controller 11 receives a message, it determines whetherto process the message right away, or if it must wait, as indicated indecision block 1152 (FIG. 33). If it must wait, it marks the utilityappliance table with which it is associated, as indicated in block 1154.The program then turns the message into an acknowledgment message withcredit equal to zero and sends the acknowledgement message back to thebridge module 75A, as indicated in block 1156, and waits until it canprocess the message to complete the virtual circuit, as indicated inblock 1158. An acknowledgement equal to zero means that the networkcontroller 11 cannot "talk" right now, wait for a full acknowledgementwith credit. When the microcontroller 179 can process the message, asdetermined in block 1158, the program unmarks the utility appliancetable as indicated in block 1160. If the program could process themessage right away, as determined in block 1152, or after it becomesable to process the message, as determined in block 1158, the programtransmits an acknowledgement with credit to the bridge module 75A fortransmission to the utility appliances 13-28 as indicated in block 1162.If a valid message is received, as determined in decision block 1164,the program puts the message on the incoming queue, as indicated inblock 1166. If valid data is not received, or after a valid message isplaced on the incoming queue, the program determines whether data is inthe incoming queue, as indicated in block 1168. If data is not in theincoming queue, the microcontroller 179 determines whether theacknowledgment message from the network controller 11 equals the lastmessage received, as indicated in decision block 1170. If the sequencenumber of the last message does not equal the sequence number of thelast acknowledgement message, as determined in block 1170, themicrocontroller 179 sends a new acknowledgement with a credit asindicated in block 1162. If the microcontroller 179 determines in block1168 that data is in the incoming queue, the microcontroller 179determines whether the program is blocked, as indicated in block 1172.If the program is blocked, the microcontroller 179 proceeds to decisionblock 1170. If the program is not blocked, the program processes datafrom the buffer as indicated in block 1174. The program then checkswhether the buffer is empty, as indicated in block 1176. If the bufferis not empty, the program goes to block 1170. If the buffer is empty, itis released as indicated in block 1178, and the program proceeds todecision block 1170. The program then checks for a timeout, as indicatedin block 1180. If a timeout occurs, the program sends a newacknowledgement. If a timeout is not detected, the program checks for avalid receive message.

The bridge module 75A awaits messages, as indicated in decision block1200 of FIG. 34. When a message is received from a utility appliance,the microcontroller 165 sends an extended data message with a zero datalength to the network controller, which requests a virtual circuit, asindicated in block 1202. The program in bridge module 75A then awaits anacknowledgement before a timeout, as indicated by decision blocks 1204and 1206. If the credit in the acknowledgement equals zero, as indicatedin block 1208, the program awaits another message as indicated indecision block 1210. When a message is received with a non-zero credit,the program executes the accept function, as indicated in block 1212,causing an indication (non-zero credit) to be sent to the utilityappliance so that it may send its data. The program then awaits incomingdata in block 1214. When data arrives, the program determines whetherthe outgoing message buffer is full in block 1216. If the buffer is notfull, the data is deposited in the buffer, as indicted in block 1220.When a new buffer is available, data is deposited in the new buffer, asindicated in block 1218. If the message is not a data message, asdetermined in block 1214, the program determines whether it is the endof a message in block 1222. If it is not the end of a message, themicrocontroller 165 returns to decision block 1214. If it is the end ofa message, the message is marked as DATA as indicated in block 1224 andthe buffer is enqueued for transmission to the network controller 11subject to flow control. The microcontroller 165 then exits thesubroutine.

As indicated above, the bridge module 75A and the network controller 11communicate over the data channel 130 of furniture arrangement network36. To receive a signal, they initially wait for a receive buffer tobecome available as indicated in block 1230 of FIG. 35. When the receivebuffer becomes available, the program sets up the receiver to receivedata from the furniture arrangement network 36, as indicated in block1232. The program then waits for a message as indicated in block 1234.When the message is received, it is placed in the receive queue asindicated in block 1236. The program monitors the receive queue andwaits for the queue to have a message therein, as indicated in block1240 of FIG. 36. When a message is in the receive queue, the programacts on the message as indicated in block 1242, and returns the bufferto the buffer pool as indicated in block 1244.

To send a message on the furniture arrangement network 36, the networkcontroller 11 or bridge module 75A waits for a credit to be received asindicated in block 1250 (i.e., establishing a virtual circuit). When acredit is received, the message is transmitted as indicated in block1252. The virtual circuit is then closed at block 1254.

To receive messages, network controller 11 waits for an act on messageinterrupt as indicated in block 1256 (FIG. 38). When a message isreceived by the network controller 11, the message will have originatedfrom a utility appliance 13-28. The program in microcontroller 179determines whether the utility appliance 13-28 which originated themessage is identified, as indicated in block 1258. If the utilityappliance 13-28 had not been previously identified, the program createsa table entry in block 1260. A utility appliance table entry isallocated for the receipt of program with the instructions for thecontrol of each of utility appliances 13-28 in the furniture arrangement2. The instructions are an executable program which the networkcontroller 11 receives from each utility appliance 13-28 on thecommunications network 36. If the utility appliance 13-28 is identified,or after creation of the table entry, the program accepts the messagevirtual circuit, as indicated in block 1266, and takes action based onthe message content, as indicated in block 1268. To take this action,the program utilizes parameters received from the utility appliance13-28 whose operating instructions are already stored in the utilityappliance's table entry in the network controller 11. Alternatively,executing the instructions may entail the network controller 11receiving the execution program for a utility appliance 13-28 andstoring it in the table entry established in block 1260 of the programflow chart. After execution, the virtual circuit is closed as indicatedin block 1270. The program then inquires as to whether there is anothermessage, as indicated in block 1272. If there is another message, theprogram returns to block 1258. If no other message is pending, theprogram exits the subroutine.

Upon power-up, the utility appliance 13-28 connected to the utilityappliance network 37 waits for a configuration message from the bridgemodule 75A, as indicated in block 1280 (FIG. 39). When a configurationmessage is received, in the form of an invitation to talk to the bridgemodule 75A, the utility appliance 13-28 responds by indicating that itwishes to talk, as shown in block 1282. The utility appliance 13-28waits for permission to talk, as indicated in block 1282. Whenpermission is granted, a virtual circuit is opened as indicated in block1285, and the utility appliance 13-28 sends its instruction, orexecutive, program to the bridge module 75A for communication to networkcontroller 11, as indicated in block 1284. The instruction program isused by the network controller 11 for the utility appliance 13-28. Theinstruction program establishes how the utility appliance functions, andhow the network controller 11 is to respond to control signals from theutility appliance. The utility appliances 13-28 also communicate withthe network controller 11, those associations set by the associationselectors such as association selectors 239, 240 (FIG. 21) for switches236, 237, respectively, of switch 27. The virtual circuit is thenclosed, as indicated in block 1285.

After initialization (steps 1280-1285 which are performed for all of theutility appliances), the utility appliances 13-28 operate according totheir respective functions. With continued reference to FIG. 39, forswitch 27, the program waits for switch activity, as indicated indecision block 1286, following initialization. When activity is detected(i.e., one of the switches 236 or 237 in switch 27 is moved), the switch27 requests permission to talk with the network controller 11. This isdone by requesting a virtual circuit with the network controller 11, asindicated in block 1288. The message is developed according to theswitch state, and the message is transmitted. After the message istransmitted, the virtual circuit is closed, as indicated in block 1292,and the program returns and waits for switch activity in decision block1286.

The general operation of the power-in 28 will now be described withreference to FIG. 26. A signal transmission on a power supply circuit iseffected as follows. Each power supply circuit of power-in 28 includes aclipping switch 434 (e.g., a TRIAC) connected in parallel with a relayswitch 303. The power-in 28 transmits a signal on a power supply circuitwhen it receives a command to interrupt the current flow through thepower supply circuit for approximately one half-cycle. Microcontroller385' of the power-in opens relay 303 for that source to initiatesignaling. It then waits for relay switch 303 to debounce. The currentis then carried entirely by clipping switch 434. The trigger current forthe clipping switch is then removed and the power-in 28 waits for theline current to cross zero. When the current crosses zero, the clippingswitch 434 will turn off avoiding possible voltage spikes. Themicrocontroller 385' then waits one-quarter cycle and then waits for thevoltage to cross zero. When the voltage crosses zero, themicrocontroller 385' restores trigger current to the clipping switch.The relay 303 can then be restored. The power outlets 25 with one ormore receptacles 272-274 connected to the power source which wasinterrupted will detect the missing quarter cycle and communicate thisinformation to network controller 11.

The network controller 11 (FIG. 1) can effect signaling over the powersupplies when one or more power outlets 25 is added to thecommunications network 8. The network controller 11 also performs thisinquiry after initialization of communications network 8. The networkcontroller 11 will tell each power outlet 25 being interrogated to waitfor a signal. The network controller 11 then tells power-in 28 to signalone of its power supply sources. After detecting the clipped signal, thewaiting power outlet 25 tells the network controller 11 it has sensedthe signal. The network controller 11 will instruct the microcontroller385' of power-in 28 to clip each source until the power source for eachof the receptacles 272-274 (FIG. 22) of power outlet 25 is identified.All power outlets connected to network controller 11 can be instructedto wait for a power supply signal together, or the receptacles 272-274of power outlets 25 can be individually interrogated.

As indicated in block 1300 (FIG. 40A), upon power-up, the power-in 28program sets the CONFIG flag to false, the MSG RECEIVED flag to false,and the utility appliance D OPEN PENDING flag to true. The D OPENPENDING flag indicates that the utility appliance is trying to establisha new virtual circuit with the network controller 11. The D OPEN flagwill be set by the lower level routines when the virtual circuit isestablished (opened). The program waits for the virtual circuit to open,and when D OPEN is true and D CLOSE PENDING is false, indicating that avirtual circuit is open to the network controller 11, the program sendsa message to the network controller 11 through the bridge module 75A.The message includes the executive program, written in FORTH in thepreferred embodiment, as indicated in block 1304. The program then setsD CLOSE PENDING to true, as indicated in block 1306.

With reference to FIG. 40B, the power-in program 28 then determineswhether a message is received in decision block 1308. If a message isreceived, the program determines if the message is a POWER SOURCE SIGNALmessage in block 1310. If it is a POWER SOURCE SIGNAL message, the powersupply circuit identified by the POWER SOURCE SIGNAL command is clippedas indicated in block 1312. It will be appreciated that each supplycircuit is controlled individually. The CLIP DONE flag is set to trueand the STATE CHANGE flag is set to true, as indicated in block 1312. Ifthe message is a "switch on" message, as determined in block 1314) thedesignated power supply circuit is turned on by closing the appropriateone(s) of switch 303, 303', 303" (i.e., the designated circuit isconnected to the power supply) as indicated in block 1316. If themessage is a "switch off" command, as determined in block 1318, theprogram turns the designated power supply circuit, or circuits, off byopening the appropriate one(s) of switches 303, 303', 303" as indicatedin block 1320. Turning the power supply "on" or "off' turns allreceptacles 272-274 connected to that supply circuit "on" or "off' ifthe TRIAC switch 431, 432, 433 is open. Thus, the TRIAC switches must beopen when switches 303, 303' and 303" are open to turn off the powercircuit. If the message is a power level inquiry, the program derivesthe power status from the voltage and current detectors in the power-in28 and associated with the power supply circuits, sets the POWER INQUIRYto true, and changes the STATE CHANGE flag to true. The program thensets the MSG RECEIVED flag to false, as indicated in block 1326. Theprogram then determines whether a power level change has occurred, asindicated in decision block 1328. If a power level change has occurred,the STATE CHANGE flag is set to true, as indicated in block 1330.

As illustrated in FIG. 40C, the outlet program determines if D OPEN istrue and D CLOSE pending is false, indicating a virtual circuit existsin decision block 1332. If the decision in block 1332 is not true, theprogram determines whether STATE CHANGE is true and both D OPEN PENDINGand D OPEN are false, as indicated in block 1333. If the decision inblock 1333 is yes, D OPEN PENDING is set to true in block 1335, so thatthe message may be received the next time through the subroutine loop.If D OPEN is true and D CLOSE PENDING is false, as determined in block1332, the STATE CHANGE flag is set to false, as indicated in block 1334.If the power level changed, as determined in block 1336, an indicationof the power level is sent in this message, as indicated in block 1338.If a power supply circuit identification is completed as determined indecision block 1340, the CLIP DONE flag is set to false, and aconfirmation message is transmitted to the network controller 11, asindicated in block 1342. If a POWER INQUIRY was made, as indicated inblock 1344, the POWER INQUIRY flag is set to false, and the power statusinformation is sent to the network controller, as indicated in block1346. The D CLOSE PENDING flag is set equal to true in block 1348 toclose the virtual circuit to the network controller 11.

Upon power-up of the power outlet 25, the CONFIG flag is set to false,the MSG RCV flag is set equal to false, and the D OPEN PENDING flag isset equal to true, as shown in block 1350 of FIG. 41A. The program thenwaits for D OPEN to be true and D CLOSE PENDING to be false, indicatingthat a virtual circuit is completed, as indicated in block 1352. Theprogram then sends its executive program, written in FORTH in thisembodiment, to the network controller 11 as indicated in block 1354. TheD CLOSE PENDING flag is then set to true in block 1356.

With reference to FIG. 41B, the program next determines whether amessage is received, as shown, in decision block 1358. If a message hasbeen received, the program determines what type of message was received.If the message is a "switch on" message, as determined in block 1360,the designated receptacle 272-274 is turned on, as indicated in block1362. If the message is a "switch off" message, as indicated in block1364, the program turns the designated receptacle 272-274 off, asindicated in block 1366. If the message is a CLIP RESET message, whichis a power source identification status message, as indicated in block1368, the program sets the CLIP flag equal to false, the CLIP RESET flagequal to true, and the STATE CHANGE equal to true, as indicated in block1370. A power supply circuit identification message is preceded by aCLIP RESET message to clear the CLIP flag, and insure that the powersupply circuit identification results are from a particular power supplycircuit signal. If the results of power supply circuit identificationinquiry message for one of the receptacles is true, as determined inblock 1372, the program sets the CLIP INQUIRY flag equal to true and theSTATE CHANGE flag equal to true, as indicated in block 1374. If a powerindicator message is received, as indicated in block 1376, the programdisplays the new power level at its respective associated LED indicator,as indicated in block 1378. If a power level inquiry message isreceived, as determined in block 1380, the program sets the POWERINQUIRY flag to true, and sets the STATE CHANGE equal to true, asindicated in block 1382. If the message is a power supply circuitidentification message, as determined in block 1384, a power supplysignal is transmitted by executing a clip, the CLIP DONE flag is set totrue, and STATE CHANGE is set to true, as indicated in block 1386. TheMSG RECEIVED flag is set to false, as indicated in block 1390.

As shown in FIG. 41C, the outlet program then determines whether D OPENis true and D CLOSE PENDING is false, indicating a virtual circuitexists. If this condition is met, the MSG RECEIVED flag is set to false,as indicated in block 1394. The program then determines whether a CLIPRESET flag is set in block 1396. If a CLIP RESET flag is true, the CLIPflag is set equal to false and a CLIP RESET CONFIRMATION message istransmitted, as indicated in block 1398. If the CLIP INQUIRY flag isset, the program sets the CLIP INQUIRY flag to false and sends the clipstate message as indicated in block 1402. If the POWER INQUIRY flag isset, as determined in block 1404, the program sets the POWER INQUIRYflag to false, and derives and sends the power statistics to the networkcontroller 11. The program then sets the D CLOSE PENDING flag equal totrue in block 1408. If the decision in block 1392 is NO, the programdetermines whether STATE CHANGE is true and both D CLOSE PENDING and DOPEN are false in decision block 1410. If they are, the program sets DCLOSE PENDING equal to true in block 1412. The program then returns toblock 1358 to respond to the message the next time through thissubroutine.

With reference to FIG. 42, messages transmitted over the utilityappliance network 37 are detected by the bridge module 75A and theutility appliances 13-28 in the following manner. The messages include abyte with a special value to indicate the END OF MESSAGE (EOM). Thisvalue is neither 0 nor 1, and is not sent except to terminate a message.This method allows a program to reset a microcontroller to the beginningof a message very quickly, even in the presence of a great deal ofnoise, and thus insures that in the presence of noise, themicrocontroller will miss only a minimum number of messages. To get abyte from the utility appliance network 37, initially the DLE (Data LinkEscape) flag is set to false, to ensure that processing does not beginin the middle of a DLE, as indicated in block 1414. The program thendetermines whether there is a receiver error as indicated in decisionblock 1416. A receiver error is detected if a start bit and a stop bitare not spaced by a predetermined, expected amount. If there is areceiver error, the program sets the RCV ERR flag to true, as indicatedin block 1418, and exits the subroutine. If a receiver error is notdetected, the program determines whether the receiver is done indecision block 1420. If the receiver is not done, i.e., a data characteris not present, the program returns to decision block 1416, as indicatedby decision block 1420. If a character is present, the character isplaced in the receive byte buffer (a buffer passed to the receivemessage routine described hereinbelow), as indicated in block 1422. Theprogram then determines whether the receive byte is an end of messagebyte, as indicated in decision block 1424. If the RCV BYTE is an end ofmessage byte, as determined in block 1424, the RCV EOM flag is set totrue, and the program exits the subroutine, as indicated in block 1426.If the RCV byte is not EOM (end of message), the program checks to seeif the DLE flag is set, as indicated in decision block 1428. When theprogram determines that the DLE flag is not set, as indicated in block1428, the microcontroller 165 determines whether the RCV BYTE is a DLEbyte as indicated in block 1440. If it is a DLE byte, the DLE flag isset true and the program returns to block 1416 as indicated in block1442. If the program determines that the DLE flag was set in decisionblock 1428, the program determines whether the receive byte equals zero,as indicated in block 1430. If the RCV byte equals zero, the sender wastrying to send a byte with the reserved EOM value, but could not becausethat would violate the protocol. Accordingly, EOM is placed in thereceive byte to tell the sender that the EOM value was received, asindicated in block 1432. If the RCV byte is a one, as determined inblock 1434, then the sender was trying to send the reserved DLE messagecode, and the RCV byte is set to DLE code, as indicated in block 1436.If the program determines that the receive byte was not equal to one indecision block 1434, the program determines that a receiver error hasoccurred, as indicated in block 1438.

To receive a new message (FIG. 43), the utility appliances 13-28 set theRCV ERR (receive error) flag to false, the RCV EOM flag to false, andreset the buffer pointer, as indicated in block 1450. The program thendetermines whether the maximum message size has been reached by thereceive data, as indicated in block 1452. If the maximum has beenreached, the program gets the message bytes until the RCV EOM flag isset, as indicated in blocks 1454 and 1456. If the maximum message lengthwas not received, as indicated in block 1452, the program attempts toget the next message byte (stored RCV BYTE) using the "get byte"program, as indicated in block 1458. The program then checks forreceiver error, as indicated in block 1460. If there is receiver error,the program waits for an end of message, as indicated by blocks 1454 and1456. if there is no receiver error, tile program checks to see if theRCV EOM flag is set, as indicated in block 1462. If the RCV EOM flag isnot set, the message byte is stored as indicated in block 1464. If theRCV EOM flag is set, a cyclic redundancy check is performed using aconventional algorithm, as indicated in block 1466. If the cyclicredundancy check (CRC) byte is not correct, the program returns to block1450. If the CRC is okay, the program checks the message to determine ifit is addressed to the particular utility appliance doing theprocessing, as indicated in block 1468. If the message is for theparticular utility appliance, the program processes the message. If itis not for the particular utility appliance, the program returns toblock 1450. As can be appreciated, utility appliances 13-28 areconnected to the utility appliance network 37 in parallel, and theprogram uses block 1468 to insure that a utility appliance 13-28 waitsfor, and responds to, only its own message.

The utility appliance program processes a message after it is received,as shown diagrammatically in FIG. 44. To process the message, theprogram sets the network controller 11 sequence, C SEQ, equal to themessage sequence, the utility appliance CREDIT equal to the messageCREDIT, and the utility appliance acknowledge sequence number, D ACK,equal to the message acknowledge sequence number (the acknowledgesequence number contained in the received message), as indicated inblock 1500. The program then determines whether the utility appliance13-28 is configured, as determined in block 1502. If the utilityappliance 13-28 is not configured, the program waits for a configurationmessage, as indicated in block 1504. When the configuration message isreceived, the CONFIG flag is set to true. If the utility appliance 13-28is configured, and the message type is CONFIG., the program resets theutility appliance in block 1508. If it is not a configuration message,the program determines whether the message is an acknowledgementmessage, as indicated in block 1510. If it is an acknowledgementmessage, the program sends its next message. If it is not anacknowledgement message, the program determines whether a virtualcircuit (i.e., a connection) is open to the network controller 11, asindicated in block 1512. If a virtual circuit is open, the programproceeds to block 1518. If a virtual circuit is not open, the programdetermines whether the incoming queue is empty, as indicated in block1514. If it is not empty, the program sends a new message. If it isempty, indicating that a new virtual circuit is allowed, the programsets the network controller CREDIT to the maximum CREDIT, sets the COPEN flag to true and proceeds to block 1518. The program then extractsdata from the message and decrements the network controller CREDIT toreflect received data if needed, as indicated in block 1518. The programthen determines whether the message is XDATA (extended data), asindicated in block 1520. If it is XDATA, the program sends its nextmessage. If it is not XDATA, then it is the final data message and theprogram sets the network CREDIT equal to zero, in block 1522, sets thenetwork controller OPEN flag to false, in block 1524, and sets the MSGRECEIVED (message received) flag equal to true as indicated in block1526. The program then sends its next message.

With reference to FIG. 45, to transmit a new message, a utilityappliance 13-28 initially determines whether the device D SEQ equals theD ACK, as indicated in decision block 1528. If D SEQ does not equal DACK, the buffer pointer is reset, such that the new message equals theold message, as indicated in block 1530, and the message is sent. If thedevice sequence number equals the utility appliance acknowledgementsequence number (D ACK), the microcontroller 251, 385, 385' determineswhether the D OPEN flag is set, as indicated in block 1532. If D OPEN istrue, the program determines whether D CLOSE PENDING is true and thedata queue is empty, as indicated in block 1334. If the decision is yes,indicating the end of the message, the D OPEN flag is set to false andthe D CLOSE PENDING flag is set to false, as indicated in block 1536,closing the virtual circuit. The program changes the D SEQ from 0 to 1or 1 to 0 in block 1538. The program then determines whether the D OPENflag is set in block 1540. If D OPEN is not true, and D OPEN PENDING isfalse, as indicated in block 1542, an acknowledgement message iscreated, as indicated in block 1544, and the message is transmitted. IfD OPEN PENDING is true, D OPEN is set equal to true and D OPEN PENDINGequals false, whereby the virtual circuit is open, as indicated in block1546. In block 1548, the program builds an XDATA (extended data) messageusing bytes from the outbound message queue (up to the networkcontroller credit), the CREDIT is set to the network controller CREDIT,the ACK is set to the network controller sequence, SEQ is set to D SEQ,and the device credit (D CREDIT) is decremented by the number of databytes in the message buffer. The program then determines whether thedata queue is empty as indicated in block 1550. If the data queue isempty, the program determines whether the D CLOSE PENDING flag is set,as indicated in block 1552. If the data queue is not empty or D CLOSEPENDING is false, the program sends the extended data message as it is.If D CLOSE PENDING is false, the program marks the message as DATA, asindicated in block 1554, as this is the end of all data.

To send a message, the program enables the transmitter portion of bridgemodule 75A, network controller 11, or utility appliances 13-28, asindicated in block 1560 (FIG. 46). The buffer pointer is reset in block1562. The program then determines if the buffer pointer is at the end ofmessage as indicated in block 1564. If the pointer is at the end of amessage, the program disables the transmitter and returns to receive anew message as indicated in block 1565. If the pointer was not at theend of a message, as determined in block 1564, the program determineswhether the transmitter is ready in block 1566. If tile transmitter isnot ready, the program waits for the transmitter to become available.When the transmitter becomes available, the message byte is transmittedas indicated in block 1568. The buffer is then incremented, as indicatedin block 1570, and the program returns to block 1564.

The configuration of the bridge module 75A will now be described.Whenever a bridge module 75A looses power, or does not detect theheartbeat message for a period of 0.5 second, the bridge module 75Aenters the unconfigured state. In the unconfigured state, the relayswitches 136, 137 (FIG. 28B) are opened which disconnects all downstream(counterclockwise) bridge modules 75A on data channel 130, as indicatedin block 1600 of FIG. 47. A resistor 140 is connected between the openswitches 136, 137 to terminate channel 130 with a suitable finiteimpedance. The microcontroller 165 then uses a Dallas SemiconductorSubroutine (not further described herein) to determine the identity ofall downstream identification modules 75B (e.g., the 48 bitidentification code stored in identification module 127) by signalingdownstream on channel 131, as indicated in block 1602. Themicrocontroller 165 also looks upstream on channel 131 to determine thestatus of upstream bridge modules 75A. The bridge module 75A alsodetermines if it is the first bridge module 75A of the workstation 4 bymonitoring conductor 156 (FIG. 15) of channel 132 to see if one of theswitches 9 is closed. If one or more of the switches 9 connected betweenbridge modules 75A is closed, conductor 156 will be connected to ground.If none of these switches are closed, conductor 156 will be pulled up tofive volts by resistor 160. The bridge module 75A thus learns if it isassociated with the first ported panel face 46 of a workstation 4, asindicated in block 1604 (FIG. 47). If any upstream switches 9 areclosed, including its own switch 9, the microcontroller 165 stores itsfirst panel status for transmission to the network controller 11.

The program in the bridge module 75A then sets itself to look forheartbeat messages, as indicated in block 1608 (FIG. 47). The programwaits for receipt of a configuration message from the network controller11, identifying its station number, as indicated in block 1610. When theconfiguration message is received, the microcontroller 165 programstores the station number, as indicated in block 1612. Themicrocontroller 165 program then generates the configuration responsemessage, as indicated in block 1612. The microcontroller 165 programcloses switches 136, 137, as indicated in block 1616. The heartbeattimer is started (FIG. 45), as indicated in block 1618. Themicrocontroller 165 then waits for switches 136, 137 to debounce, asindicated in block 1620. The microcontroller 165 then transmits theconfiguration response message to the network controller 11.

Upon power-up of the bridge module 75A, the program in microcontroller165 is configured, as indicated in block 1650 (FIG. 48A). The programthen waits for messages from the network controller 11. If extended datahaving a length equal to zero arrives following a new virtual circuit,the program identifies the message as a request for a connection withthe bridge module 75A from one of the utility appliances 13-28 which isat the utility appliance address indicated in the message. The C OPENPENDING (MSG DEV ADDR) flag is set, as indicated in block 1654. Thebridge module 75A responds with an acknowledgement having a credit ofzero (i.e., connection is okay, but the microcontroller is not ready toreceive a message), as indicated in block 1656. If either an XDATA(extended data) message or a data message is detected, with the virtualcircuit open, and the utility appliance identified in the message is thecredited utility appliance, as indicated in decision block 1655, themessage is placed in the message queue outgoing to the utility appliancenetwork 37 as indicated in block 1657. If the message type is DATA,block 1658, the C CLOSE PENDING flag is set to true, indicating the endof message, in block 1660. The program then responds with anacknowledgement, and starts the acknowledgement timer, as indicated inblock 1662. If an XDATA (extended data) message did not arrive, asdetermined in block 1655, the program determines whether the virtualcircuit is open (block 1664), and the acknowledgement timer is expired.If this is true, another acknowledgement is transmitted and the timer isstarted, as indicated in block 1666. If the decision of block 1664 isno, the program looks for a DATA message or an XDATA message, having alength which does not equal zero, on the furniture arrangement network,for a closed virtual circuit, as indicated in decision block 1668. Ifthis information is received, the program responds with anacknowledgement.

Referring to FIG. 48B, in block 1672, to transmit a signal to networkcontroller 11, the bridge module 75A program waits for D OPEN true and DACCEPTED false. The bridge module 75A sends the XDATA message on thefurniture arrangement network 36 with the utility appliance address (DADDR) equal to the address of the utility appliance (D UTIL APPL), andhaving a length equal to zero (i.e., a request to speak to the networkcontroller), as indicated in block 1674. The program waits for anacknowledgement before a timeout, as indicated in blocks 1676 and 1678.When the acknowledgement is received, the program determines whether thecredit equals zero as indicated in block 1680. If the credit equalszero, the program waits for a message to be received with a creditgreater than zero, as indicated in blocks 1680 and 1682. When themessage received has credit greater than zero, meaning the networkcontroller 11 will receive the message, the utility appliance credit isset to the maximum data allowed by the network controller 11 and bridgemodule 75A, and the data accepted flag is set to true in block 1684. Theprogram then determines whether data is present in the outgoing queue asindicated in block 1686. If data is present in the outgoing queue, theprogram checks if the message buffer is full as indicated in block 1688.When the message buffer is full a new buffer is allocated, as indicatedin block 1690. The program then deposits the data in the message buffer,as indicated in block 1692, and the program returns to block 1686. Whenno more data is in the outgoing queue, the program waits for the virtualcircuit to close or for more data to be placed in the queue as indicatedin blocks 1686 and 1694. When the virtual circuit closes, the messagetype is set to DATA, as indicated in block 1696, the message buffer forthe continuous network is transmitted in block 1698, and the D OPEN flagis set to false and the D CLOSED flag is set to false, in block 1700.The program then returns to block 1672 to wait for another message.

As mentioned above, one function of bridge module 75A (FIGS. 15 and 16)is to monitor the data channel 130 for heartbeat messages. When aheartbeat message is received at the bridge module 75A, microcontroller165 in the bridge module 75A determines whether a configuration messagehas been received. If a configuration message has not been received, theprogram ends. With reference to FIG. 49, if it is determined in decisionblock 1724 that a configuration message has been received, the programdetermines whether the first furniture portion of workstation status haschanged. If the first furniture portion status has changed, the bridgemodule 75A is reset. If the first portion of workstation status has notchanged, the heartbeat timer is restarted as indicated in block 1728.

The microcontroller 179 includes a heartbeat timer which monitors thedata channel 130 to determine whether a heartbeat message is receivedwithin a predetermined time period (block 1730 of FIG. 50), which mayfor example be one-half of a second. If a heartbeat message is notreceived within one-half of a second after a previous heartbeat message,the microcontroller 179 determines that the heartbeat timer has expiredand the bridge module 75A is reset.

To receive a new message (FIG. 51) from the network controller 11, thebridge module 75A uses the same protocol as described above with respectto network controller 11. To receive a message from utility appliances13-28 on the utility appliances network 37, the bridge module programsets the NOISE flag to false, the RCV ERR flag to false, the RCV EOMflag to false, and resets the buffer pointer, as indicated in block1740. The program then determines whether the maximum message size hasbeen reached, as indicated in block 1742. If the maximum message sizehas been reached, the program gets message bytes from the RCV buffer asindicated in block 1744, until the end of message (EOM) is received, asindicated in block 1746. When the EOM is received, the NOISE flag is setto true, as indicated in block 1748. If the maximum message length wasnot reached, as indicated in block 1742, the program gets a messagebyte, as indicated in block 1750. The program then checks for a receivererror, as indicated in block 1752. If there is receiver error, theprogram waits for an end of message in blocks 1744 and 1746, beforesetting the NOISE flag. If there is no receiver error, the programchecks to see if the RCV data is an EOM as indicated in block 1754. Ifit is an end of message byte, the message byte is stored, as indicatedin block 1756, and the program returns to block 1742. If the RCV EOMtest is true, as determined in block 1754, a cyclic redundancy check isperformed as indicated in block 1758. If the CRC is not okay, theprogram sets the noise flag in block 1748. If the CRC is okay, theprogram processes the new message.

To process a new message in the communication bridge module 75A, asshown in FIG. 52, the microcontroller 165 program sets the ADDR (anaddress variable) equal to the MSG ADDR (message address), the D SEQADDR (utility appliance sequence) equal to the MSG SEQ (messagesequence), the network controller credit (C CREDIT) equal to the messagecredit (MSG CREDIT), and the network controller acknowledge address (CACK ADDR), equal to message acknowledge (MSG ACK) as indicated in block1760. The program then determines whether the NOISE flag is true indecision block 1762. If the noise flag is true, the program proceeds toTRANSMIT NEW MESSAGE. If the NOISE flag is not true, the programdetermines whether a timeout has occurred, as indicated in block 1764.If a timeout has occurred, the program proceeds to the TRANSMIT NEWMESSAGE subroutine. If a timeout has not occurred, the programdetermines whether the message is an ACK (acknowledgement) message, indecision block 1766. If it is an acknowledgement message, the programproceeds to the TRANSMIT NEW MESSAGE subroutine. If it is not, theprogram determines whether a virtual circuit is open to the utilityappliance, as indicated in block 1768. If a virtual circuit is not open,the program determines whether the incoming queue is empty in decisionblock 1770. If it is not empty, the program proceeds to the TRANSMIT NEWMESSAGE subroutine. If the incoming queue is empty, the D ACCEPTED flagis set equal to false, the D OPEN flag (utility appliance virtualcircuit open) is set to true, and the utility appliance 13-28 is setequal to address variable as indicated in block 1772. The program thendetermines whether the utility appliance (D DEV) 13-28 is set to theaddress variable (ADDR), as indicated in block 1774. If the utilityappliance 13-28 does not equal the address variable, the programproceeds to TRANSMIT NEW MESSAGE. If the utility appliance 13-28 equalsthe address, the program extracts data from the message and decrements DCREDIT to reflect that data is received, if needed for flow control, asindicated in block 1776. The program then determines if the message type(MSG TYPE) is DATA in decision block 1778. If the message type is DATA,the utility appliance credit is set equal to zero, and the D CLOSED flagis set to true, indicating that the utility appliance connection isclosed. The subroutine for TRANSMIT NEW MESSAGE is then entered.

Upon reconfiguration, the bridge module 75A must determine the addressof all utility appliances 13-28 connected to its utility appliancenetwork 37. To accomplish this, the program looks to a wide range ofaddresses on the panel face 46, and transmits a configuration messagethereto. If the bridge module 75A gets more than one reply, the messageis garbled, and is therefore considered to be noise. The program thenreduces the number of utility appliances 13-28 it addresses until itgets a clear response from a single utility appliance. The program looksat the other ranges of addresses until all utility appliances 13-28 areconfigured. In operation, tile program repeatedly polls the utilityappliances. For example, if stations are at addresses 2, 5 and 6, thebridge module 75A polls the utility appliances at addresses 2, 5, 6, 2,5, 6, 2, 5, 6, 2, 5, 6, etc. The program conducts a reconfigurationafter it has polled utility appliances on the network a predeterminednumber of times.

More particularly, the program initially determines if a configurationis in progress in decision block 1790 (FIG. 53A). If a configuration isin progress, the program sets CFG PASSES to zero. CFG PASSES is a countof the number of passes since the list configuration. The program thendetermines if a timeout has occurred, as indicated in block 1794. If atimeout has occurred, the program determines whether CFO LEN (the numberof addresses less one in the range of addresses of utility appliancesbeing polled for configuration) is equal to the high station (thenumeric address of the last unconfigured station in the range ofunconfigured stations) minus the low station (the numeric address of thefirst unconfigured station in the range of unconfigured stations), asindicated in block 1796. If the decision is yes, the program sets TOKENADDED to false in block 1797, and proceeds to TOKEN VALID decision block1798. If the decision in block 1796 is no, the program sets CFG LOW (thelow address in the range of addresses of utility appliances being polledfor configuration) and the CFG LEN, as indicated in block 1800. Theprogram then proceeds to block 1802 (FIG. 53B), and transmits a CONFIGmessage to the utility appliance network. If a timeout did not occur, asdetermined in block 1794, the program determines whether the configurelength equals one (i.e., there is one-utility appliance 13-28 on thenetwork), or the NOISE flag is not set in block 1806. If the decision inblock 1806 is yes, then there is exactly one utility appliance 13-28 inthe range, and the program sets TEMP equal to CFG LOW, if there is nonoise, or it sets TEMP equal to the utility appliance address, asindicated in block 1808. TEMP is a temporary memory location that holdsthe address of the new utility appliance. The program then determineswhether the TOKEN VALID flag is set in decision block 1810. If the TOKENVALID flag is not set, TOKEN is set equal to the TEMP variable, and theTOKEN VALID flag is set equal to zero, as indicated in block 1812. TOKENis the address of the utility appliance to which the bridge module 75Ais currently talking. Because there is either no noise, or a singleutility appliance 13-28, the address is assumed to be valid. The programthen sets the NEXT TEMP! equal to NEXT TOKEN! (NEXT TOKEN!) is the nextconfigured utility appliance, (e.g., if TOKEN equals five, NEXT TOKEN!equals 6), the NEXT TOKEN! is set equal to the current TEMP, and theprogram then sets TOKEN ADDED to true, as indicated in block 1814, andproceeds to TOKEN VALID decision block 1798. If decision 1806 is no, theprogram sets CFG HIGH (high configured address) and CFG LEN, asindicated in block 1807. Block 1807 essentially cuts the configurationlength in half each time the program goes through this block. Theprogram then goes to block 1802 to send a CONFIG message. In decisionblock 1798, the program determines whether the TOKEN VALID flag is set.If it is not set, the program sets CFG LOW to zero, CFG HIGH to zero,and the CFG LEN equal to 256 (i.e., where the system includes 256addresses, this encompasses all utility appliances on the utilityappliance bus), as indicated in block 1799. The program proceeds toblock 1803. If the token is valid, the program determines whether TOKENis greater than NEXT TOKEN!. If this is true, and if TOKEN ADDED isfalse, the CFG IN PROGRESS flag is set to false, as indicated in block1804, and the program proceeds to block 1844 (FIG. 53C). If decision1803 (FIG. 53A) is no, then TOKEN, CFG LOW, CFG HIGH, and CFG LEN areset, as indicated in block 1809. The program then determines whether theconfiguration length equals zero in block 1811. The program continuesthe cycle through blocks 1803, 1809, and 1811 until the configurationlength does not equal zero. When the configuration length does not equalzero, the program goes to block 1802 to transmit a CONFIG message.

If a configuration was not in progress, as determined in block 1790(FIG. 53A), the microcontroller 165 program determines whether the TOKENVALID flag is set in block 1818, as shown in FIG. 53B. If the token isnot valid, the program sets CFG IN PROGRESS, CFG LOW, CFG HIGH, and CFGLEN, as indicated in block 11820. The program then builds aconfiguration message as indicated in block 1802 and sends the message.If the TOKEN VALID is true, the program determines whether a timeout hasoccurred in decision block 1822. If a timeout has occurred, the programsets the RETRANS to RETRANS+1 as indicated in block 1824. The programthen determines whether RETRANS is greater than RETRANS MAX, asindicated in block 1826. If RETRANS is greater than RETRANS MAX, thenthe bridge module 75A resets, as indicated in block 1828. If thedecision in block 1826 is no, the buffer pointer is reset such that newmessage equals old message, as indicated in block 1830, and the programgoes to block 1846. If a timeout has not occurred, as determined indecision block 1822, the program determines whether noise is present, ornetwork controller SEQ TOKEN! equals network controller ACK TOKEN!, asindicated in block 1832. If the decision is yes, the program resets thebuffer pointer, such that the new message equals the old message, andthe program goes to block 1846.

If the decision in block 1832 (FIG. 53B) is no, the microcontroller 165program determines whether the NEXT TOKEN! is less than or equal toTOKEN (i.e., a poll cycle is completed). If it is less than or equal toTOKEN, the program increments CFG PASSES as shown in block 1838 of FIG.53C. The program then determines whether CFG PASSES are greater than orequal to MAX CFG WAIT, as indicated in block 1840. If the decision isyes, indicating that a predetermined number of passes though thetransmit new message routine have occurred since configuring the utilityappliance network 37, the program sets TOKEN, CFG IN PROGRESS, CFG LOW,CFG HIGH, and CFG LEN in block 1842. Accordingly, the next time throughthis subroutine, the bridge module 75A will reconfigure the utilityappliance network 37. If the decision from either block 1836 or 1840 isno, the program sets the TOKEN equal to NEXT TOKEN!, and RETRANS equalto zero in block 1844. The microcontroller 165 program then determineswhether a virtual circuit is open to the network controller 11 indecision block 1846. If the virtual circuit is open, the programdetermines whether a network controller CLOSE PENDING flag is set andwhether the data queue is empty in decision block 1848. If decision 1848is true, the program closes the virtual circuit by setting the C OPENflag to false and the C CLOSE PENDING to false. If the decision in block1846 or 1848 is no, or following execution of block 1850, the programtoggles the network controller DSEQ TOKEN!, as indicated in block 1852.

As shown in FIG. 53D, the microcontroller 165 program next determineswhether a virtual circuit is open to the network controller 11 in block1860. If the virtual circuit is not open, the utility appliance networkprogram determines whether the network controller C OPEN PENDING TOKEN!is set to true in block 1862. If not, the program builds an ACK messageand sends the message in block 1864. If there is a network controller COPEN PENDING, as indicated in decision block 1862, the program setsnetwork controller C OPEN, C OPEN PENDING TOKEN!, and C DEV, asindicated in block 1866. The program then determines whether the networkcontroller 11 has a utility appliance 13-28 address (C DEV) for the openvirtual circuit that equals TOKEN, as indicated in block 1868. If itdoes not, the program builds and sends an ACK message. If the C DEVequals TOKEN, the program builds an extended data message using bytesfrom the outbound message queue up to the utility appliance credit, thecredit is set equal to the utility appliance credit, the acknowledgementis set equal to the utility appliance D SEQ TOKEN!) the sequence is setto the network controller DSEQ TOKEN! and the network controller 11credit is decremented by the number of data bytes in the message buffer,as indicated in block 1872. The program then determines whether the dataqueue is empty as indicated in block 1874. If the data queue is empty,the program determines whether a furniture arrangement network 36 closeis pending, as indicated in block 1876. If decisions 1874 or 1876 areno, the program sends the extended data message as it is. If a close ispending, the program marks the message as DATA, as indicated in block1880, as this is the end of all data.

The operating system for communications network 8 may also be used inother environments, such as with the floor tiles 2000, the ceiling tiles2030 and/or the furniture tiles 3 illustrated in FIG. 54. Theillustrated floor tiles 2000 are preferably part of a raised floorhaving electrical access therebelow. The floor tiles 2000 may beprovided by any suitable conventional raised floor. The panels 3 arepreferably oriented in parallel and aligned with the edges of the floortiles 2000. The tile based system may include an electronic network2014, as illustrated in FIG. 55, which extends below tiles 2000. Thenetwork 2014 includes signal conductors 5 (only some of which arenumbered) which extend between couplers 10 of communication modules 75.Communication modules 75 are of the same construction as the previouslydescribed communication modules 75 illustrated in FIGS. 2, 15 and 16.The signal conductors 5 are connected end-to-end using quick-disconnectconnectors 6, 7 (FIG. 3 not shown in FIG. 55) to form a loop withnetwork controller 11. The communication modules 75 are spaced atpredetermined locations relative to tiles 2000, such that networkcontroller 11 has a map of their locations. These communication modules75 each have a unique identification, and a unique physical location inthe grid. The unique address may be provided by an IC No. DS 2400available from Dallas Semiconductor.

The illustrated network 2014 (FIG. 55) is preferably laid out in apredetermined pattern relative to the floor tiles, such that thecommunication modules 75 are aligned with edges 2004 of tiles 2000. Theidentification techniques described herein with respect to FIGS. 1-53are utilized by the floor network controller 11 to determine whichcommunication modules 75 have an end of panel 3 connected thereto. Byidentifying the connection points on tie network, and identifyingphysical location of the communication modules 75, the tile based systemmay be used in combination with the network based system of FIGS. 1-53to create three-dimensional mapping of the electrical utility appliances13-28 and furniture units 3 within a furniture arrangement 2.

In summary, the network controller 11 (FIG. 1) and the bridge module75A, as described above, automatically evaluate communications network8, and more particularly, networks 36 and 37, as described above. Thisautomatic evaluation includes auto-location of workstations 4 usingsignalers 9; bridge module 75A on furniture arrangement network 36;utility appliances 13-28 on panel faces 46; couplers 10; a failure infurniture arrangement network 36; a failure of one or more utilityappliances 13-28; and power usage at power outlets 25 and power-inutility appliances 28. The automatic evaluation also includes theability to automatically identify: the type of utility appliances 13-28which identity is communicated from the utility appliance ROM to tienetwork controller 11; communication modules 75 using identifier 127(FIGS. 7, 11); and the "geographic" location of utility appliances13-28. Additionally automatic evaluation includes automaticconfiguration of: the bridge modules 75A on furniture arrangementnetwork 36 in sequential order around the network loop; a communicationlink between utility appliances 13-28 and network controller 11 througha bridge module 75A; utility appliances in a workstation; and bindingwithin workstations 4 and throughout communications network 8.

Utility distribution system 1 provides an efficient and effectivearrangement for distributing utilities in a wide variety of differentmodular furniture arrangements 2, and other similar environments. Theprewiring of each of the individual furniture units 3 with signalconductor 5, signaler 9 and quick-disconnect connectors 6 and 7 permitsthe furniture units 3 to be quickly and easily arranged into the desiredworkstations 4, and interconnected, so as to form an uninterruptedfurniture arrangement network 36 which communicates with networkcontroller 11, and is capable of evaluating the communications network 8and the furniture units 3. The ported cover panels 46 provide aconvenient means to service a wide variety of service utility appliances13-28, so as to meet the ever-changing needs of even the most advancedknowledge workers. Furniture units 3, as well as the associated utilityappliances 13-28 include identifiers and/or operating instructions,which are communicated to the network controller 11 throughcommunications network 8 to evaluate and monitor utility distribution tothe various workstations 4, as well as to control the same, such as bypower shedding, communication lines switching, and the like. Utilitydistribution system 1 is also preferably capable of monitoring andcontrolling physical support equipment, such as lighting, HVAC,security, sound, and other similar environmental accommodations. Thus,furniture units 3 not only have built-in utility capabilities, but thedistribution system 1 is able to determine the location of eachparticular furniture unit 3 in any given furniture system 2, monitor itsutility usage, and then control the same, all at a relatively low cost,and readily adaptable fashion, which will function effectively,regardless of where the individual furniture unit 3 is positioned orconfigured in the furniture system 2.

In the forgoing description, it will be readily perceived by thoseskilled in the art that modifications may be made without departing fromthe concepts disclosed herein. Such modifications are to be consideredincluded in the following claims, unless these claims by their languageexpressly state otherwise.

The embodiments of the invention in which an exclusive property orprivilege is claimed are defined as follows:
 1. A method for identifyingthe location of furniture units relative to a known floor plan, saidmethod comprising the steps of:positioning a plurality of communicationmodules at known locations relative to the floor plan; providing eachcommunication module with a unique identity; connecting each of thecommunication modules to a controller; providing each communicationmodule with a coupler for connecting an article to the controller;storing a layout of the floor plan that is accessible to the controllerand that includes the location of the communication modules relative tothe floor plan; and determining the location of a furniture unitrelative to the layout of the floor plan by determining to which of saidcommunication modules the article is connected.
 2. The method as definedin claim 1 and further including the step of storing a modified layoutof the floor plan including the locations of any identified furnitureunits.
 3. A system for identifying the location of furniture unitsrelative to a known floor plan, said system comprising:a controller; anda plurality of communication modules positioned at known locationsrelative to the floor plan, each of said communication modules being inelectrical communication with said controller and having anidentification device therein for identifying itself to said controller,said communication modules including a coupler for connecting afurniture unit to communicate with said controller, wherein saidcontroller includes a memory for storing a layout of the floor planbased upon the known location of said communication modules, and saidcontroller determines the location of a furniture unit relative to thelayout of the floor plan by determining to which of said communicationmodules the furniture unit is connected.
 4. The system as defined inclaim 3, wherein the furniture unit includes a utility network that iscoupled to the coupler of one of said communication modules.
 5. Thesystem as defined in claim 4, wherein the utility network includes aplurality of utility appliances connected to the coupler of saidcommunication module.
 6. The system as defined in claim 4, wherein saidcommunication modules are mounted within a floor structure.
 7. Thesystem as defined in claim 4, wherein said communication modules aremounted within a ceiling structure.
 8. The system as defined in claim 4,wherein said controller generates and stores a modified layout of thefloor plan including the locations of any identified furniture units. 9.The system as defined in claim 5, wherein said controller identifies thelocation of said utility appliances relative to the floor plan bydetermining to which of said communication modules said utilityappliances are connected.
 10. A system for distributing utilities atfurniture units in a furniture arrangement, comprising:a communicationnetwork; a plurality of electrical outlets associated with at least oneof said furniture units and including a signaler communicativelyconnected with said network, at least one of said outlets connected witha first power source and at least one other of said outlets beingconnected with a second power source; and a control systemcommunicatively connected with said signaler through said network, saidcontrol system monitors said first and second power sources in order todetermine attributes of power delivered on said power sources, saidcontrol system further determines which of said outlets is connectedwith each of said first and second power sources and indicates to amonitor, at least one attribute of said first and second power sourcesand which outlets are connected with each of said power sources.
 11. Thesystem in claim 10 wherein said control system includes a modulatorwhich sequentially modulates each of said power sources and wherein saidsignaler is responsive to a modulated signal to inform said controlsystem which of said outlets are connected with the modulated powersource.
 12. The system in claim 11 wherein said modulator modulates eachof said power sources by momentarily suppressing one polarity of an ACpower waveform.
 13. The system in claim 10 wherein said monitor includesindicators at each of said outlets.
 14. The system in claim 13 whereinsaid monitors include indications for the load capacity of the outletand wherein said control system monitors the load on each of said powersource and operates indicators for outlets connected with each powersource as a function of the load on that power source.